Ошибка, когда получить лат и lng на событие клика в Google Map API? - PullRequest
0 голосов
/ 23 декабря 2011

JavaScript:

    var myLatlng = new google.maps.LatLng(10.786599576864381,106.69340372085571);  
    var myOptions = {
        zoom: 16,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("gmap"), myOptions);

    marker = new google.maps.Marker({
        position: myLatlng, 
        map: map
    });
google.maps.event.addListener(map, 'click', function() {
            var location = map.getCenter();
            document.getElementById("lat").innerHTML = location.lat();
            document.getElementById("lon").innerHTML = location.lng();
            placeMarker(location);
          });
    function placeMarker(location) {
        var clickedLocation = new google.maps.LatLng(location);
        marker.setPosition(location);
    }

HTML:

    <center>
   <div id="bd">
    <div id="gmap"></div>
     lat:<span id="lat"></span> lon:<span id="lon"></span><br/>
     </div>
    </center> 

Я использовал map.getCenter для получения значений lat и lng, но результат не найден, как исправить

1 Ответ

1 голос
/ 01 марта 2012

Место, которое вы получаете, находится в центре карты.

Вам нужно захватить событие щелчком, чтобы вы могли получить значение latLng следующим образом:

google.maps.event.addListener(map, 'click', function(event) {
//var location = map.getCenter();
//document.getElementById("lat").innerHTML = location.lat();
//document.getElementById("lon").innerHTML = location.lng();
placeMarker(event.latLng);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...