2016-05-16 2 views
0

У меня проблема с NgMap. Я хочу создать два маркера, как только пользователь завершит ввод имени места ввода. Есть два входа для двух локализации - я использую автозаполнение google. После ввода текста я получаю ответ с длинными и латами локализации. я установил часы на входах, как показано ниже: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 я с правильной длиной и Lat разделены "".

Это решение не работает, однако, когда я установил статическое положение

например
<marker position="-25.363882,131.044922"></marker> 

Он работает как supossed.

У кого-нибудь есть идеи?

PS. Я использую https://ngmap.github.io/

ответ

0

Я понял, что вы хотите поместить маркер в пользовательские типы позиций.
Для этого вам не понадобятся часы, поскольку angularjs делает автоматическое связывание.
Вы можете ссылаться на следующий код.
Script Обязательный

<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); 
}); 
Смежные вопросы