我有一个包含纬度和经度坐标的Json数组。这是一个示例:
"zones":[{"Zip":35824,"Latitude":34.647995,"Longitude":-86.738549},...
我试图在数组上使用循环来解析坐标并在谷歌地图上绘制它们。这是我的Javascript:
function getLocations() {
$.getJSON("http://localhost:1117/zones/latlng", function (json) {
var location;
$.each(json.zones, function (i, item) {
location = item.Latitude + ',' + item.Longitude, addMarker(location);
});
});
};
function addMarker(location) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(location),
map: map,
icon: redImage
});
markersArray.push(marker);
}
我的问题是标记最终堆叠在彼此的顶部,绘制在地图的左上角(正好在海洋的中间)。标记堆栈的位置在我的Json数组中无处出现。我做错了什么?
答案 0 :(得分:5)
我认为问题是新的google.maps.LatLng()需要(数字,数字)作为参数,并且您传入的字符串格式为“数字,数字”。
如果您将addMarker()函数更改为具有两个应该有效的参数(例如纬度,经度):
function getLocations() {
$.getJSON("http://localhost:1117/zones/latlng", function (json) {
var location;
$.each(json.zones, function (i, item) {
addMarker(item.Latitude,item.Longitude);
});
});
}
function addMarker(lat,lng) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
icon: redImage
});
markersArray.push(marker);
}
答案 1 :(得分:0)
使用聚类.make标记组作为cluster.one聚类将在其中显示许多标记。也可以制作边界。