0

プロジェクトに使用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

4

0 に答える 0