2016-05-17 7 views
0

enter image description hereマーカーが地図上にあるか地図外にあるかをチェックしたいと思います。 マップのマーカーを入れていますか、それが現在のビューにあるかどうかを確認できません。私は以下のコードを試しました。 this.map.getBounds()。contains(e.layer.getLatLng()); しかし、それは私を真実に戻している。現在のマップビューのLatLngBoundsを返します:マーカーが表示されているかどうかを確認する(マップ) - マップボックス

答えて

3

map.getBounds().contains(myMarker.getLatLng())

  • map.getBounds()は マップは古い緯度LNGすなわち境界を返している(私はそう思います)。

  • latLngBounds.contains():矩形に所定の点が含まれている場合は、trueを返します。

  • myMarker.getLatLng():マーカーの現在の地理的位置を返します。

も参照してください:area estimation in viewpoint of map using leaflet

+0

私はコード this.map.getBounds(下にしようとしている)が含まれ(e.layer.getLatLng());。 それは私を真実に戻していますが、マーカーは地図の外です。 私が追加した画像を確認してください。 – Kalashir

+1

あなたの画像は、タイル上になくても、あなたのマーカーが「地図上」(マップビューポート内)にあることを示しています。その条件をチェックしたい場合は、タイルレイヤーの境界を定義/取得する必要があります。 – ghybs

+1

リーフレットのためにこの回答を編集することはできますか?問題はMapboxと私はGoogleを介して質問に出てきましたが、マップボックスには#containsメソッドがないことがわかりました。将来の開発者がこの質問に来るのを助けることを願っています。 –

関連する問題