AngularJS NgMap

时间:2016-05-16 11:50:37

标签: javascript angularjs

我有NgMap的问题。一旦用户在输入中完成输入地名,我想创建两个标记。两个本地化有两个输入 - 我正在使用谷歌自动完成。打字后我得到了长时间和本地化的响应。 我在输入上设置手表如下:

  $scope.$watch(function ($scope) { return $scope.locationFrom }, function () {
        if (angular.isDefined($scope.locationFrom)) {
            vm.geopositionFrom = $scope.locationFrom;
            vm.cos = $scope.locationFrom.geometry.location.lat().toString() + "," + $scope.locationFrom.geometry.location.lng().toString();
        }
    });

最后在视图中我使用vm.cos作为位置属性

 <ng-map center="[40.74, -74.18]">
            <marker position="vm.cos"></marker>
 </ng-map>

在vm.cos我有正确的long和lat分隔&#34;,&#34;。

当我设置静态位置时,此解决方案无法正常工作,例如

<marker position="-25.363882,131.044922"></marker>

它起作用了。

有人有任何想法吗?

PS。我正在使用https://ngmap.github.io/

1 个答案:

答案 0 :(得分:0)

我的理解是,你想把标记放在位置用户类型上。
为此你不需要看,因为angularjs会自动绑定。
您可以参考以下代码。
需要脚本

<script type="text/javascript" src="ng-map.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js">
</script>
<script src= "http://maps.google.com/maps/api/js?key=YOUR_KEY&libraries=places"></script>


HTML代码

<ng-map center="{{mapCenter}}" zoom="13"> 
     <marker animation="DROP" position="{{mapCenter}}"> </marker>
 </ng-map>
 <input places-auto-complete types="['geocode']" on-place-changed = "myCallback(place)" 
ng-model="mapCenter" component-restrictions="{country:'in'}" />

<强>控制器

$scope.mapCenter="pune";
NgMap.getMap().then(function(map) {
    console.log(map.getCenter());
    console.log('markers', map.markers);
});