2012-08-23 17 views
5

Vấn đề của tôi:
- Tôi hiển thị bản đồ bên trong cửa sổ bật lên và tôi có các ô xếp dỡ (nền màu xám). - Nếu tôi phóng to hoặc thu nhỏ, thì bản đồ sẽ lấp đầy toàn bộ không gian (không có nền màu xám nữa).GWT MAP 3.8 (Google API) - Có phải onResize() cần thiết để ẩn "nền xám" không?

Câu hỏi của tôi:
- Bạn có bất kỳ ý tưởng nào về vấn đề của tôi không (Tôi có cần thay đổi kích thước để ẩn "nền xám") không?
- Tôi không biết liệu tôi có nên gọi onResize() bên trong gọi lại Runnable (mã ở trên) hay không?

Cảm ơn bạn,

mã thực tế của tôi: (Tôi đang sử dụng javaxLoaderAPI)

// ENTRY POINT

GoogleMap map; 
    @UiField LayoutPanel gmap; 

    public void AjaxLoader_MAP() { 

      AjaxLoaderOptions options = AjaxLoaderOptions.newInstance(); 

      options.setOtherParms("key=***&sensor=false&language=es"); 

      Runnable callback = new Runnable() { 
      public void run() { 
       gmap.onResize();   // Should I call onResize() here ? 
       map = GoogleMap.create(gmap.getElement());  
      }; 
      } 

      AjaxLoader.loadApi("maps", "3", callback, options); 
} 

Trả lời

1

Có thể liên quan đến các bài sau - GWT Google Map Api V3 - broken when changing it

Tôi vừa đăng câu trả lời cho vị trí chưa được trả lời đó t là tốt. Tôi tin rằng nó trả lời và làm sáng tỏ về điều này là tốt.

Tôi biết đây là một bài đăng cũ, nhưng hãy cho tôi biết nếu được trợ giúp!

0

Khi gọi mapWidget.triggerResize(), điều quan trọng là phải gọi nó với một số độ trễ (Timer.schedule()) sao cho tất cả tiện ích đã được đặt lại và sau đó bản đồ được thay đổi kích thước.

Đây là cách tôi kích hoạt nó:

@Override 
protected void onReset() { 
    super.onReset(); 
    Timer timer = new Timer() { 
     @Override 
     public void run() { 
      triggerResize(); 
     } 
    }; 
    timer.schedule(100); 
} 

Nếu không có hẹn giờ, tôi vẫn nhận được gạch màu xám. Hy vọng ai đó vẫn thấy nó hữu ích.

Các vấn đề liên quan