Javascript 在googlemapsapi中获取标记的坐标
我正在使用谷歌地图API。我用下面的代码得到了标记的坐标Javascript 在googlemapsapi中获取标记的坐标,javascript,google-maps,Javascript,Google Maps,我正在使用谷歌地图API。我用下面的代码得到了标记的坐标 var lat = homeMarker.getPosition().$a; var lng = homeMarker.getPosition().ab; 我用谷歌地图构建的应用程序一切正常。 但我今天测试了它,在获得正确的坐标时遇到了问题。结果发现上面的代码没有定义。在输入console.log(homeMarker.getPosition())之后,我发现这就是它们用于坐标的变量 var lat = homeMarker.getPo
var lat = homeMarker.getPosition().$a;
var lng = homeMarker.getPosition().ab;
我用谷歌地图构建的应用程序一切正常。
但我今天测试了它,在获得正确的坐标时遇到了问题。结果发现上面的代码没有定义。在输入console.log(homeMarker.getPosition())之后,我发现这就是它们用于坐标的变量
var lat = homeMarker.getPosition().ab;
var lng = homeMarker.getPosition().cb;
我不会问谷歌地图为什么会这样做,但你也可以把它包括在你的答案中。我的问题是,每次google maps更改他们使用的变量时,如何在不更改代码的情况下正确获取坐标
var lat = homeMarker.getPosition().lat();
var lng = homeMarker.getPosition().lng();
请参阅文档和另一个可选选项
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 1,
center: new google.maps.LatLng(35.137879, -82.836914),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var myMarker = new google.maps.Marker({
position: new google.maps.LatLng(47.651968, 9.478485),
draggable: true
});
google.maps.event.addListener(myMarker, 'dragend', function (evt) {
document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
});
google.maps.event.addListener(myMarker, 'dragstart', function (evt) {
document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
});
map.setCenter(myMarker.position);
myMarker.setMap(map);
var map=new google.maps.map(document.getElementById('map_canvas'){
缩放:1,
中心:新google.maps.LatLng(35.137879,-82.836914),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var myMarker=new google.maps.Marker({
位置:新google.maps.LatLng(47.651968,9.478485),
德拉格布尔:是的
});
google.maps.event.addListener(myMarker,'dragend',function(evt){
document.getElementById('current').innerHTML='删除的标记:当前Lat:'+evt.latLng.Lat().toFixed(3)+'current Lng:'+evt.latLng.Lng().toFixed(3)+'';
});
google.maps.event.addListener(myMarker,'dragstart',函数(evt){
document.getElementById('current').innerHTML='当前正在拖动标记…;
});
地图设置中心(myMarker.position);
myMarker.setMap(map);
和html文件
<body>
<section>
<div id='map_canvas'></div>
<div id="current">Nothing yet...</div>
</section>
</body>
还没有。。。
此外,您可以通过“拖动”侦听器显示当前位置,并将其写入可见或隐藏字段。您可能还需要存储缩放。以下是“从工作工具复制和粘贴”:
function map_init() {
var lt=48.451778;
var lg=31.646305;
var myLatlng = new google.maps.LatLng(lt,lg);
var mapOptions = {
center: new google.maps.LatLng(lt,lg),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map'),mapOptions);
var marker = new google.maps.Marker({
position:myLatlng,
map:map,
draggable:true
});
google.maps.event.addListener(
marker,
'drag',
function() {
document.getElementById('lat1').innerHTML = marker.position.lat().toFixed(6);
document.getElementById('lng1').innerHTML = marker.position.lng().toFixed(6);
document.getElementById('zoom').innerHTML = mapObject.getZoom();
// Dynamically show it somewhere if needed
$(".x").text(marker.position.lat().toFixed(6));
$(".y").text(marker.position.lng().toFixed(6));
$(".z").text(map.getZoom());
}
);
}
google.maps.event.addListener(myMarker,'dragend',function(evt){..});这引发了异常