@Zewkin
Я у мамы фронтэндер

Как передать переменную из $scope по клику на маркер Google Maps?

<map center="50.4501, 30.5234" zoom="11" style="height: 100%" data-tap-disabled="true">
    <marker ng-repeat="item in items" on-click="go({{item.id}})" position="{{item.coords}}">
    </marker>
</map>


ng-click внутри маркера не работает, нужно использовать гугловский on-click.
item.id он не видит и передает координаты маркета.

Кто-нибудь сталкивался?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
premas
@premas
Full-stack web-developer
Используйте нормальный Google Maps, вешайте на каждый маркер bind('click', callback) в конце каждого каллбэка $scope.$apply().

Если есть желание поговнокодить, то делайте так:
<marker data-item="{{item.id}}" ng-repeat="item in items" onclick="go(this.dataset.item)" position="{{item.coords}}">
</marker>


А в обработчике, который придется объявить внутри котроллера в виде глобальной window-функции, забирайте соответственно этот дата-атрибут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы