如何添加具有位置数组的折线?

时间:2015-05-22 21:49:13

标签: javascript google-maps google-maps-markers each google-polyline

我有一个包含城市名称的简单数组。我试图遍历此数组并在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中获得位置并立即显示标记。我非常接近得到我想要的结果。

1 个答案:

答案 0 :(得分:-1)

为了在折线上添加点数

  1. 你需要一个google.maps.MVCArray类型的数组

    var points = new google.maps.MVCArray();

  2. 您需要将mvcarray传递给折线

    var polyline = new google.maps.Polyline({ path: points });