繁体   English   中英

谷歌地图 API 在信息窗口中显示标记位置

[英]Google map API displaying marker location in an infowindow

我有一个 javascript 位置数组 (jarray),我正在循环并将每个位置的标记添加到谷歌地图上。 除了这些标记,我想添加一个显示标记位置的信息窗口。 下面的代码在每个标记的信息窗口中显示相同的纬度和经度位置。 我希望每个标记在其信息窗口中都有自己的地址。 我还尝试将信息窗口的内容设置为 results[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);
                                  });

我认为谷歌地图 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 的内容。

 var infowindow = new google.maps.InfoWindow({
   infowindow.setContent(jarray[i]['lat'] +" " + jarray[i]['lat']);
   infowindow.open(map, marker);
                                  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM