【问题标题】:How to get cordinates by clicking on a google map如何通过点击谷歌地图获取坐标
【发布时间】:2011-09-29 11:17:32
【问题描述】:

我是谷歌地图的新手,想使用谷歌地图 JavaScript API 将房屋显示为标记。我希望一个人能够在地图上单击以放置标记,可以再次单击以将其删除或拖动到地图上的另一个位置。然后,我希望脚本获取坐标(纬度和经度),以便将其添加到数据库表中。知道我应该怎么做吗?我在 codeIgniter 中使用 PHP。

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    一个好的起点是查看参考手册:http://code.google.com/apis/maps/documentation/javascript/reference.html

    如果您查看那里的地图,您会发现它有一个名为“click”的事件。您所做的是在地图初始化后创建一个事件侦听器,它侦听单击事件。发生这种情况时,您可以在该位置放置一个标记,并在该标记上为单击事件添加一个事件侦听器(如果您想将其移除),或者如果您想拖动它,则使其可拖动。

    如果您想再次使用标记所保存的信息,请记住将标记存储在数组中。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我迟到了。请在下面找到代码片段。

      /* Always set the map height explicitly to define the size of the div
             * element that contains the map. */
            #map {
              height: 100%;
            }
            /* Optional: Makes the sample page fill the window. */
            html, body {
              height: 100%;
              margin: 0;
              padding: 0;
            }
      <div id="map"></div>
          <script>
            var map;
            function initMap() {
              map = new google.maps.Map(document.getElementById('map'), {
                center: {lat: -34.397, lng: 150.644},
                zoom: 8
              });
              var marker;
              map.addListener('click', function(e) {
                
                if(marker){
      
                  var latlng = new google.maps.LatLng(e.latLng.lat(), e.latLng.lng());
                  marker.setPosition(latlng);
                }else{
                  marker = new google.maps.Marker({
                        position: {lat : e.latLng.lat(), lng : e.latLng.lng()},
                        map: map
                      })
                }
      
                alert("lat : "+e.latLng.lat()+ "; lng : "+e.latLng.lng())
      
                });
            }
          </script>
          <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDNPpCPQOwkMotaDj0IgHQ7HDAE8cz6-4U&callback=initMap"
          async defer></script>

      【讨论】:

        猜你喜欢
        • 2013-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多