2013-07-25 31 views
0

我使用GWT的branflake2267谷歌地圖API(https://github.com/branflake2267/GWT-Maps-V3-Api)。 我想在標記下方顯示標題。標記和覆蓋不顯示在相同的地方

我的位置:

final LatLng latlng = LatLng.newInstance(47.4125, -0.861944); 

的圖標標記(它是地圖上的正確位置)

MarkerImage icon = MarkerImage.newInstance("/images/maps/pin_workshop.png", Size.newInstance(21, 34), Point.newInstance(0, 0), Point.newInstance(10, 34)); 
    MarkerImage shadow = MarkerImage.newInstance("/images/maps/shadow.png", Size.newInstance(40, 37), Point.newInstance(0, 0), Point.newInstance(12, 35)); 

    MarkerOptions options = MarkerOptions.newInstance(); 
    options.setPosition(latlng); 
    options.setMap(map); 
    options.setTitle("Factory"); 
    options.setIcon(icon); 
    options.setShadow(shadow); 

    Marker marker = Marker.newInstance(options); 

與冠軍(在地圖...不正確的位置)的疊加:

final DivElement div = Document.get().createDivElement(); 

    OverlayView.newInstance(map, new OverlayViewOnDrawHandler() { 
     @Override 
     public void onDraw(OverlayViewMethods methods) { 
      Point position = methods.getProjection().fromLatLngToDivPixel(latlng); 

      div.getStyle().setPosition(Position.ABSOLUTE); 
      div.getStyle().setLeft(position.getX(), Unit.PX); 
      div.getStyle().setRight(position.getY(), Unit.PX); 

      div.setInnerText("Factory"); 
     } 
    }, 

    new OverlayViewOnAddHandler() { 
     @Override 
     public void onAdd(OverlayViewMethods methods) {         
      methods.getPanes().getOverlayLayer().appendChild(div); 
     } 
    }, 

    new OverlayViewOnRemoveHandler() { 
     @Override 
     public void onRemove(OverlayViewMethods methods) { 
      div.removeFromParent(); 
     } 
    }); 

screenshot

我嘗試不同版本的庫(3.09版本17,3.10.0-alpha-6),以及不同的窗格(getMapPane(),getFloatPane()),但沒有成功...

回答

0

好的,只是使用setLeft setRight而不是setLeft和setTop ...