我正在创建一个GoogleMaps 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 );
有没有人对下一步做什么有任何想法?也许帮助找到一些类似的代码来工作?
答案 0 :(得分:1)
我找到了你的问题,同时为我自己的项目寻找基本相同的东西。我确实找到了https://groups.google.com/forum/#!topic/google-maps-js-api-v3/7oWus3T5Ycw,我确信可以对其进行调整,但是如果你看一下这个例子的来源,就说代码“可以收费”。
我的方法是在地图上的某个位置放置一个临时标记,但每次移动或缩放地图时都必须重新计算和移动。
答案 1 :(得分:1)
另一种方法是使用绘图库,如Suvi Vignarajah的帖子所示
Positioning a draggable map marker at top-left of map window(评论中有一个jsFiddle显示我的最终解决方案)
我仍然认为你的自定义控件的想法实际上是最直观的用户体验