显示相同地址位置的多个标记

时间:2016-04-04 12:42:42

标签: javascript jquery ajax google-maps google-maps-api-3

我创建了一个应用程序来显示带有产品作业和服务的多个标记。现在如果谷歌地图中的地址相同只有一个标记虽然很多产品可能同一个地方。所以我想要多少时间通过相同的位置调用多少标记。

url = 'http://maps.googleapis.com/maps/api/geocode/json?address='+json[i].DisType+'&sensor=false',

$.getJSON(url, null, function (data)
{
    var p = data.results[0].geometry.location
    var latlng = new google.maps.LatLng(p.lat, p.lng);
    var marker= new google.maps.Marker({
      position: latlng,
      map: map
    });
    google.maps.event.addListener(marker, 'click', (function(marker, i)
    {
        return function() 
        {
            infowindow.setContent(r);
            infowindow.open(map, marker);
        }
    })(marker, i));
});

1 个答案:

答案 0 :(得分:0)

您需要遍历响应var p = data.results[0].geometry.location,而您只是在响应中创建第一项的标记

var item;
for(item in data.results){
    var p = item.geometry.location
    var latlng = new google.maps.LatLng(p.lat, p.lng);
    var marker= new google.maps.Marker({
      position: latlng,
      map: map
    });
    google.maps.event.addListener(marker, 'click', (function(marker, i)
    {
        return function() 
        {
            infowindow.setContent(r);
            infowindow.open(map, marker);
        }
    })(marker, i));
}