Google Map setCenter到新点击的区域

时间:2013-11-27 04:59:05

标签: javascript google-maps

我有以下代码。在关于“点击”事件的部分中,我希望获得点击点的信息,但到目前为止我还是无法做到。我该怎么办?

问题:我需要setCenter地图到新点击的区域。

<div id='map-container' style="width: 500px; height: 500px;">

</div>
<script type="text/javascript">


var map;
function initialize() {
  var mapOptions = {
    zoom: 8,
    center: new google.maps.LatLng(35.7, 51.3999)
  };

    map = new google.maps.Map(document.getElementById('map-container'),
      mapOptions);

  var marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map,
    title: 'موقعیت خود را انتخاب کنید'
  });





    google.maps.event.addListener(document.getElementById('map-container'), 'click', function() {
    map.setZoom(10);
    map.setCenter(35.7, 51.3999);
    console.log(marker.getPosition());
  });

}

google.maps.event.addDomListener(window, 'load', initialize);


</script>

1 个答案:

答案 0 :(得分:1)

(1)要获取在Google地图中点击的点的纬度/经度,您必须使用 click eventListener 谷歌地图>

google.maps.event.addListener(map, 'click', function(event) {

  });

(2)然后获取正在点击的地图的位置

event.latLng    //returns the position
event.latLng.ob //returns lat
event.latLng.pb //returns lng

(3)现在使用 setCenter(pos) ,将点击的区域标记为地图的中心,如

map.setCenter(event.latLng);

最后,

google.maps.event.addListener(map, 'click', function(event) {
    map.setCenter(event.latLng);
  });

Sample Fiddle

编辑: 您能告诉我如何同时将红色标记移动到新点击的区域吗?

google.maps.event.addListener(map, 'click', function (event) {
        marker.setPosition(event.latLng); //set the position to marker
        map.setCenter(marker.getPosition()); //Now set marker to map's center
    });

Fiddle

相关问题