2013-07-25 2 views
0

GWT 용 branflake2267 google maps 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 및 setLeft 대신에 setRight 및 setTop ...

관련 문제