使用draggable google.maps.Marker与angular.js TypeError:a.lat不是一个函数

时间:2015-11-04 18:30:40

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

给定的代码会将google.maps.Marker添加到居中的地图中。超过一秒后,当调用marker.setDraggable(true)时,标记消失,并且在控制台中抛出错误未捕获的TypeError:a.lat不是函数

如果 {draggable:true} 直接设置为标记的属性,则会发生错误并且标记也​​不会显示。对于"动画"也是如此。属性。

这段代码两个月前就开始运作了。

有什么建议吗?

    $scope.$on('mapInitialized', function (event, map) {
        $scope.map = map;

        map.setOptions({
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            minZoom: 3
        });

        _initializeMapMarker();

    });

    var _initializeMapMarker = function () {

        var buildingPos = new google.maps.LatLng(parseFloat($scope.vm.Latitude), parseFloat($scope.vm.Longitude));

        $scope.map.setCenter(buildingPos);

        marker = new google.maps.Marker({
            map: $scope.map,
            //draggable: true, // <----------   Uncaught TypeError: a.lat is not a function
            //animation: google.maps.Animation.DROP, // <----------   Uncaught TypeError: a.lat is not a function
            position: buildingPos
        });


        setTimeout(function () {
            marker.setDraggable(true); // <----------   Uncaught TypeError: a.lat is not a function
        },1000);
    }

0 个答案:

没有答案