我有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/
答案 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);
});