0

我正在创建一个类似于谷歌地图上的小黄人的谷歌地图 v3 自定义控件。该控件在地图的左上角有一个图标。用户将该图标拖放到地图上。然后我只想获取该位置的 latlng。

尽管它看起来像一个标记,但它与标记不同。

这是我到目前为止所拥有的:

var draggableMarkerControl = document.createElement('div');
draggableMarkerControl.setAttribute('class', 'gm-draggable-container'); //h&w of 75px
map.controls[google.maps.ControlPosition.TOP_LEFT].push( draggableMarkerControl );

有人对下一步做什么有任何想法吗?也许帮助找到一些类似的代码来工作?

4

2 回答 2

1

我在为我自己的项目寻找基本相同的东西时发现了你的问题。我确实找到了https://groups.google.com/forum/#!topic/google-maps-js-api-v3/7oWus3T5Ycw我确信可以对其进行调整,但是如果您查看示例的来源说代码“收费”。

我的方法是在地图上窗口中的某个位置放置一个临时标记,但是每次移动或缩放地图时都必须重新计算和移动它。

于 2013-10-18T16:36:55.080 回答
1

另一种方法是使用绘图库,正如我在 Suvi Vignarajah 的帖子中所建议的那样

在地图窗口的左上角放置一个可拖动的地图标记(评论中有一个 jsFiddle 显示了我的最终解决方案)

我仍然认为您对自定义控件的想法实际上是直观 UX 方面最好的

于 2013-10-18T20:45:08.787 回答