我有一个javascript数组的位置(jarray),我正在循环并在google地图上添加每个位置的标记。除了这些标记,我还想添加一个显示标记位置的信息窗口。下面的代码在每个标记的infowindows中显示相同的纬度和经度位置。我希望每个标记在其infowindow中都有自己的地址。我也尝试将infowindow的内容设置为结果[0] .geometry.location,address和jarray [i]都没有成功。任何想法都非常感谢。
for(var i = 0; i < jarray.length; i++){
geocoder.geocode({'address': jarray[i]},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title: "Marker",
icon: image
});
var infowindow = new google.maps.InfoWindow({
content: "<p>"+marker.position+"</p>"
});
marker.addListener('mouseover', function() {
infowindow.open(map, marker);
});
答案 0 :(得分:1)
我不认为谷歌地图api标记有位置属性 - 你可以使用位置 - 方法是marker.getPosition()
https://developers.google.com/maps/documentation/javascript/reference?hl=en#Marker
然后,您可以通过使用地理编码(如果需要)来将该位置用于地址
https://developers.google.com/maps/documentation/geocoding/intro
答案 1 :(得分:0)
insted of marker.location,使用jarray位置本身。您可以调整此代码以适合您,因为我不知道您的jarray的内容。
var infowindow = new google.maps.InfoWindow({
infowindow.setContent(jarray[i]['lat'] +" " + jarray[i]['lat']);
infowindow.open(map, marker);
});