我是 Google map (API) 的新手,我需要获得以下结果:
目前,我知道如何渲染 map 并在其上放置标记(基于经度和纬度)。
var map;
map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 7,
center: new google.maps.LatLng(response[0].latitude, response[0].longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
for (var i = 0; i < response.length; ++i) {
new google.maps.Marker({
'map' : map,
'position' : new google.maps.LatLng(response[i].latitude, response[i].longitude),
'title' : response[i].address
});
}
可变响应
结构如下:
[
Object
address: "Krišjāņa Barona iela 25, Riga, LV-1011, Latvia"
latitude: "24.1245290"
longitude: "56.9528510"
__proto__: Object
,
Object
address: "Rīgas iela 1, Tukums, Tukuma novads, LV-3101, Latvia"
latitude: "23.1630590"
longitude: "56.9663880"
__proto__: Object
]
可能会有很多标记。我正在寻找一种方法来将标记与预览图像中的路径连接起来。
我不知道我应该搜索什么,我需要你们的帮助,伙计们。感谢您的建议!
最佳答案
来自 Google's tutorial 的示例:
var flightPlanCoordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(21.291982, -157.821856),
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892)
];
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
另请参阅 the reference entry for Polylines
.
如果您不知道如何将响应对象映射到 LatLng
对象数组,这里有一个示例:
var flightPath = responseArray.map(function (item) {
return new google.maps.LatLng(item.latitude, item.longitude);
});
关于javascript - 如何在谷歌地图中加入所有带有路径的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891736/