2014-02-09 82 views
0

我在这剑拔弩张我的大脑和无法弄清楚API V3移除标记这是为什么不工作AngularJS和谷歌地图,从地图

var lat = Math.round(top_location.geometry.location.lat() * 1000000)/1000000; 
var lng = Math.round(top_location.geometry.location.lng() * 1000000)/1000000; 
geocode_results[i]['lat'] = lat; 
geocode_results[i]['lng'] = lng; 
geocode_results[i]['l_type'] = top_location.geometry.location_type; 
marker = new google.maps.Marker({ 
    icon: mapIcon, 
    position: new google.maps.LatLng(lat,lng), 
    map: map 
}); 
markersArray.push(top_location.address_components[0].long_name); 

使用上面创建我的标志物,并绘制他们对我的地图。

使用下面的代码从地图

$scope.removemarkers = function() { 
    console.log($scope); 
    console.log(markersArray); 
    if (markersArray && markersArray.length) { 
     for (var i = 0; i < markersArray.length; i++) { 
      markersArray[i].setMap(null); 
     } 
     markersArray = []; 
    } 
}; 

我收到以下错误console.log()

TypeError: Object AB42 2DL has no method 'setMap'at Object.$scope.removemarkers

AB42 2DL删除标记使用随机邮政编码绘制标记

+0

你推'marker'到'markersArray'。然后使用'setMap(null)'从标记中移除标记 –

回答

4

时markersArray不包含标记,它包含字符串。

试试这个:

markersArray.push(marker);