如何使用(可移动)标记的纬度和经度动态更新Google Maps InfoWindow中的URL?我可以在单击的位置显示一个InfoWindow,并且可以使用event.latLng.lat()
和成功返回lat和lng event.latLng.lng()
,但是如果尝试使用它们定义变量,然后在InfoWindow中使用这些变量,则会Uncaught ReferenceError: lat is not defined
出错。
var newpostmarker;
var newpost = new google.maps.InfoWindow({
content: '<a href="/posts/add?lat=' + lat + '&lng=' + lng + '">Add New</a>'
});
function placeNewPostMarker(location) {
if (newpostmarker) {
newpostmarker.setPosition(location);
} else {
newpostmarker = new google.maps.Marker({
position: location,
map: map_canvas,
});
}
newpostmarker.setVisible(false);
}
google.maps.event.addListener(map_canvas, 'click', function (event) {
var lat = event.latLng.lat();
var lng = event.latLng.lng();
alert("Lat=" + lat + "; Lng=" + lng);
placeNewPostMarker(event.latLng);
newpost.open(map_canvas, newpostmarker);
});
初始化InfoWindow时,变量是未知的。在click
-listener中设置InfoWindow的内容属性。
//infowindow without properties
var newpost = new google.maps.InfoWindow();
google.maps.event.addListener(map_canvas, 'click', function(event) {
var lat = event.latLng.lat();
var lng = event.latLng.lng();
alert("Lat=" + lat + "; Lng=" + lng);
placeNewPostMarker(event.latLng);
newpost.setContent('<a href="/posts/add?lat=' + lat + '&lng=' + lng + '">Add New</a>');
newpost.open(map_canvas,newpostmarker);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句