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

Javascript 我需要得到我的标记的纬度和经度,javascript,google-maps,google-maps-api-3,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.R

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

到目前为止,我有以下代码:

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);
        });
    });
var mylatng=new google.maps.LatLng(37.775,-122.418333);
变异性肌肽=
{
缩放:3,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var pais=‘阿根廷’;
var geocoder=new google.maps.geocoder();
geocoder.geocode({'address':pais},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(结果[0].geometry.location);
map.fitBounds(结果[0].geometry.bounds);
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
};
var infoWindow=new google.maps.infoWindow({
内容:“Mi marca situada en
” }); var标记; 功能位置标记(位置){ 如果(标记){ 标记器。设置位置(位置); }否则{ var clickedLocation=new google.maps.LatLng(位置); marker=新的google.maps.marker({ 位置:位置,, 地图:地图, 标题:'你好', }); } } google.maps.event.addListener(映射,'click',函数(事件){ 信息窗口。打开(地图、标记); 地点标记(事件标记); }); });
我尝试过各种方法,但没有得到好的结果。我想用gmapsapiv3。
这里。

Uff。。当你放置标记时,你已经知道了它的位置。此
position:location
包含标记的位置。 如果您需要该位置,您可以通过该位置访问它,也可以执行
marker.getPosition()

我已经更新了你的密码


注意:“k”是小写,“A”是大写-在getPosition()返回的对象中。

大部分是Radu说的。我和他似乎在同一时间。此外,您可能会发现,在构建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);
var infoWindow=new google.maps.infoWindow({
内容:“Mi marca situada en
” +“Lat:+event.latLng.Lat()+”
” +“Lng:+事件.latLng.Lng()+” }); 信息窗口。打开(地图、标记);
如果要更新信息窗口的内容,请使用
infoWindow.setContent()


有关对象及其属性的详细列表,请参见。

latLng.k
latLng.B
是latLng对象的未记录属性,它们可以并且将随新版本而更改。不要使用它们,使用有文档记录的.lat()和.lng()函数。好的!它是有效的:)只有一件事:每次单击都会创建一个新标记,但上一个标记会保留并堆叠。不可能不发生吗?@nicogaldo是的,有一种方法。与其在click事件回调中声明“var infoWindow”,不如在全局范围中声明它。然后在创建新窗口之前检查infoWindow是否已经存在。我想举例说明。看一看。
getPosition().k
getPosition().a
是latLng对象的未记录属性,它们可以并且将随着新版本而更改。不要使用它们,请使用有文档记录的.lat()和.lng()函数。