プロジェクトに使用ng-map
していますが、クリックイベントでマーカーにアクセスできません。この質問は 4 か月前に @allenhwkim によって回答され、マーカーにアクセスできますthis
が、試してみるとundefined
.
これは、マップとマーカーを作成する方法です
<ng-map center="[39.4, 34.744971]" zoom="6"
street-view-control="false">
<marker ng-repeat="z in zones"
position="{{z.alignment.center}}"
on-click="focusMarker($event)"
></marker>
</ng-map>
イベントリスナーは、マップの中心とズームを設定してマーカーに焦点を合わせ、情報ウィンドウをポップします。この関数では、クリックされたマーカーが必要なので、その属性にアクセスできます
$scope.focusMarker = function(event)
{
NgMap.getMap().then(function (map)
{
var infowindow = new google.maps.InfoWindow();
map.setZoom(12);
map.setCenter(new google.maps.LatLng(event.latLng.lat(), event.latLng.lng()));
infowindow.setPosition(event.latLng);
infowindow.open(map);
});
};
私が考えた唯一の解決策は、座標上のマーカーを見つけることでしたが、私が見た限りでは配列ではなくオブジェクトであるため、event.latLng
フィルタリングできません。map.markers