我需要得到我的标记的纬度和经度

时间:2014-11-11 23:54:11

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

这是一张简单的地图,根据城市的名称进行聚焦,您可以放置​​一个标记来指示您居住的地方。我的想法是在数据库中保存经度和纬度,但首先我需要得到它。

到目前为止,我有代码:

var myLatlng = new google.maps.LatLng(37.775, -122.4183333);
    var myOptions =
    {
        zoom: 3,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

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

    var pais = 'Argentina'; 
    var geocoder = new google.maps.Geocoder();

    geocoder.geocode( { 'address': pais}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            map.fitBounds(results[0].geometry.bounds);


        } else {
            alert("Geocode was not successful for the following reason: " + status);
        };

        var infoWindow = new google.maps.InfoWindow({
                content: "<div style='font-size: 8pt; font-family: verdana ;' >Mi marca situada en<br></div>"
            });    

        var marker; 
        function placeMarker(location) {
            if ( marker ) {
                marker.setPosition(location);

            } else {
                var clickedLocation = new google.maps.LatLng(location);
                marker = new google.maps.Marker({
                position: location,
                map: map,
                title: 'hola',
                });
            }
        }

        google.maps.event.addListener(map, 'click', function(event) {
            infoWindow.open(map,marker);
            placeMarker(event.latLng);
        });
    });

我尝试了各种方法但没有取得好成绩。我想用gmaps api v3做。 这里JSFiddle

2 个答案:

答案 0 :(得分:1)

Uff ..当您放置标记时,您已经拥有它的位置。此position: location包含标记的位置。 如果您以某种方式需要该位置,您可以通过那里访问它,或者您可以marker.getPosition()

我已更新了您的fiddle here

注意:&#39; k&#39;是小写的,&#39; A&#39;是大写的 - 在getPosition()返回的对象中。

答案 1 :(得分:1)

Radu说的主要是什么。在他看来的同时我updating your fiddle。另外,你可能会发现在构造infoWindow对象之前等到你有这个latLng更方便,如下所示:

    var infoWindow = new google.maps.InfoWindow({
        content: "<div class='infoWindow'>Mi marca situada en<br>"
        + "Lat: " + event.latLng.lat() + "<br>"
        + "Lng: " + event.latLng.lng() + "</div>"
    });
    infoWindow.open(map, marker);

如果您想更新infoWindow的内容,请使用infoWindow.setContent()

有关对象及其属性的详尽列表,请参阅Google Maps API reference