获取用户指示的位置

时间:2015-04-21 19:50:59

标签: javascript jquery html google-maps google-api

我正在使用谷歌地图API。 我成功地用html显示谷歌地图。

现在,我想让用户选择位置并获取纬度/经度数据。

这是我想要的步骤。

  1. 用户将右键/左键单击地图上的某个点。
  2. 地图上会出现一个标记。
  3. 用户可以移动标记进行微调。
  4. 经度/纬度数据将显示在文本框中。
  5. 总的来说。

    如何实现“让用户在谷歌地图上选择一个地方并获取地理信息”的目的

    现在我的代码如下所示,只需在HTML上显示地图

    function mapInit() {
        var centerPosition = new google.maps.LatLng(35.656956, 139.695518);
        var option = {
            zoom : 18,
            center : centerPosition,
            mapTypeId : google.maps.MapTypeId.ROADMAP
        };
        var googlemap = new google.maps.Map(document.getElementById("mapField"), option);
    }
    
    mapInit();
    

    in html

    <div id="mapField" style="width:350px;height:350px;"></div>
    

1 个答案:

答案 0 :(得分:2)

请参阅此Google地图文档示例:https://developers.google.com/maps/documentation/javascript/elevation。原则上,这正是您正在寻找的。它可以简化到适合您的目的。您只需要在googlemap语句后添加:

var marker = new google.maps.Marker({position:centerPosition, icon:icon_path}); //choose the path for the icon yourself
google.maps.event.addListener(googlemap, 'click', function(event){
  //do whatever you want with this variable of the string of the clicked location:
  event.latLng.toString();
  marker.setPosition(event.latLng);
}

这样做是从google.maps库中声明一个新的事件监听器,将其分配给地图googlemap,将其类型声明为'click'(当用户点击时触发)和final函数是一个回调函数,它从click事件中获取其参数。 event参数有一个名为latLng的属性,它是google.maps.LatLng库的一个实例。同时,创建标记,每次用户点击时其位置都会改变。请参阅标记文档(https://developers.google.com/maps/documentation/javascript/reference#Marker)和一些使用教程(https://developers.google.com/maps/documentation/javascript/markers)。

我希望这会有所帮助