gwt - 如何使用 GWT Maps API 将自定义标记图像添加到 Google map ?

标签 gwt google-maps

我正在开发一个使用 Google map 的 GWT 应用程序。我正在尝试在我的 map 上添加许多字母标记。最初,我有:

Marker marker = new Marker(point);
marker.setImage("http://www.google.com/mapfiles/markerA.png");
map.addOverlay(marker);

但这没有用。对 setImage 的调用导致 map API 出现异常, map 上没有任何显示。我搜索并找到了一些关于 MarkerOptions 的半答案,所以我尝试了:
Icon icon = Icon.newInstance(Icon.DEFAULT_ICON);
icon.setImageURL("http://www.google.com/mapfiles/markerA.png");
MarkerOptions ops = MarkerOptions.newInstance(icon);
ops.setIcon(icon);
Marker marker = new Marker(point, ops);
map.addOverlay(marker);

这有点好,因为我的应用程序不再抛出异常,我看到标记阴影,但仍然没有自定义标记图像。

我更喜欢这个问题的非 JSNI 解决方案。

谢谢!

最佳答案

此示例似乎涵盖了您想要实现的目标:IconDemo.java .

// Create our "tiny" marker icon
Icon icon = Icon.newInstance(
    "http://labs.google.com/ridefinder/images/mm_20_red.png");
icon.setShadowURL("http://labs.google.com/ridefinder/images/mm_20_shadow.png");
icon.setIconSize(Size.newInstance(12, 20));
icon.setShadowSize(Size.newInstance(22, 20));
icon.setIconAnchor(Point.newInstance(6, 20));
icon.setInfoWindowAnchor(Point.newInstance(5, 1));

MarkerOptions options = MarkerOptions.newInstance();
options.setIcon(icon);

// LatLng point; MapWidget map;
map.addOverlay(new Marker(point, options));

现场演示可以在这里看到:http://gwt.google.com/samples/HelloMaps-1.0.4/HelloMaps.html#Creating%20Icons

关于gwt - 如何使用 GWT Maps API 将自定义标记图像添加到 Google map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2167797/

相关文章:

javascript - 如何使用 fitBounds() 覆盖 Google map 初始化的选项;

google-maps - 从 Google 位置历史记录下载 KML 数据的当前 URL?

google-maps - 在 Firefox 下的 Google Maps API v3 中,通过拖动来平移 map 的速度很慢

java - 为什么 HTMLPanel 不允许添加(小部件)?

java - 是否可以将 HTML/CSS 布局与 GWT 逻辑完全分开?

Android Google Maps API V2 OutOfMemory 异常

javascript - 如何使用 Angular 实现 Google GeoCharts

browser - GWT浏览器返回错误,但GWT不会

java - GWT RPC 应用程序中的异常

java - 获取当天的开始时间和结束时间