Google map API displaying marker location in an infowindow
我有一个javascript数组的位置(jarray),我正在循环并将每个位置的标记添加到谷歌地图上。 除了这些标记,我还想添加一个显示标记位置的信息窗口。 下面的代码在每个标记的infowindows中显示相同的纬度和经度位置。 我希望每个标记在其infowindow中都有自己的地址。 我也尝试将infowindow的内容设置为结果[0] .geometry.location,address和jarray [i]都没有成功。 任何想法都非常感谢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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); }); |
我不认为谷歌地图api标记有位置属性 - 你可以使用位置 - 方法是marker.getPosition()
https://developers.google.com/maps/documentation/javascript/reference?hl=en#Marker
然后,您可以通过使用地理编码将该位置用于地址(如果需要)
https://developers.google.com/maps/documentation/geocoding/intro
注入marker.location,使用jarray位置本身。 您可以调整此代码以适合您,因为我不知道您的jarray的内容。
1 2 3 4 | var infowindow = new google.maps.InfoWindow({ infowindow.setContent(jarray[i]['lat'] +"" + jarray[i]['lat']); infowindow.open(map, marker); }); |