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();
}
});
다른 버전의 라이브러리 (3.09 빌드 17, 3.10.0-alpha-6)와 다른 창 (getMapPane(), getFloatPane())을 성공하지 않고 사용해보십시오 ...