使用AJAX更新Google地图标记

时间:2015-01-10 18:20:30

标签: javascript ajax google-maps google-maps-api-3

当数据来自静态工厂时,我有这个工作。现在数据来自远程服务器的AJAX调用($http),并且由于某种原因,标记不会被放到地图上。

工作plunker

基本上,如果我取消注释$http并替换静态数据,它将不会显示。它会显示填充了正确数据的变量markers,只是不会填充地图

有点类似issue

1 个答案:

答案 0 :(得分:0)

我的意思是在加载标记后将mode.state设置为true:

$scope.mode.state = false;
$scope.change_type = function(val) {
    var markers = [];
    $scope.eventMarkers = markers  // clear the map of markers, before loading new

    Events.venues(val.type).then(function(resp){
        var venues = $.map(resp.data, function(value, index){return [value]})  
        for (var i = 0; i < venues.length; i++) {
            event = venues[i]
            markers.push(createMarker(i,event))
        }
        console.log(markers)
        $scope.eventMarkers = markers
        $scope.mode.state = true;
    }, function(errror){
        console.debug(error)
    });
}