【发布时间】:2014-04-13 21:33:49
【问题描述】:
如何使用我的(可移动)标记的纬度和经度动态更新我的 Google 地图信息窗口中的 URL?我可以在点击的位置显示一个 InfoWindow,我可以使用event.latLng.lat() 和event.latLng.lng() 成功返回 lat 和 lng,但是如果我尝试使用它们来定义变量然后在我的 InfoWindow 中使用这些变量,我会得到@987654323 @错误。
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);
});
【问题讨论】:
-
您必须将变量 lat/lng 设为全局变量。目前它们在事件监听器中是本地的。
标签: javascript google-maps google-maps-api-3