我有一个包含城市名称的简单数组。我试图遍历此数组并在Google地图上添加由Polylines链接的标记。
这是我的代码:
function addMarkerCity(cities) {
$.each(cities, function(index, value) {
geocoder.geocode({'address': value}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var cityPosition = results[0].geometry.location;
flightRoute.push(cityPosition);
var currentMarker = map.addMarker({
position: cityPosition
});
});
});
});
}
函数addMarkerCity工作正常,由JQuery事件click()按钮触发。我使用数组flightRoute存储每个标记的每个位置,然后将其传递给将在2个标记之间创建折线的函数。
现在的问题是,如果我在按钮上单击两次以使其工作,我只会在地图上看到折线。
当我做的时候:
console.log(flightRoute);
数组flightRoute首先等于[]然后我可以看到2个先前创建的标记的LatLng。有人可以告诉我我做错了什么,在flightRoute中获得位置并立即显示标记。我非常接近得到我想要的结果。
答案 0 :(得分:-1)
为了在折线上添加点数
你需要一个google.maps.MVCArray类型的数组
var points = new google.maps.MVCArray();
您需要将mvcarray传递给折线
var polyline = new google.maps.Polyline({
path: points
});