リーフレットマーカーは正しく読み込まれるはずです。 代わりに、次のエラーメッセージが表示されます。
GET http:// localhost :8080 / bower_components / leaflet / dist / imagesmarker-icon-2x.png 404(見つかりません)
ただし、「images」と「marker-icon-2x.png」の間にスラッシュがないため、そのURLは間違っています。
スラッシュでフォーマットする必要があります。 リーフレットソースに移動し、IconDefaultオプションを次のように変更すると(6976行目...):
iconUrl: '/marker-icon.png',
iconRetinaUrl: '/marker-icon-2x.png',
shadowUrl: '/marker-shadow.png',
その後、期待どおりに機能します。
0.7.7に戻すと、この問題は解消されます。 この問題の原因は何ですか?
実際には、L.Icon.Default.imagePathを設定して、パスに最後のスラッシュが含まれていることを確認することをお勧めします。 私はこの時点で、なぜこれが変化しているように見えるのか疑問に思っていると思いますか?
おそらく、これは私がちょうど遭遇した私の問題に関連しています。 マーカーが読み込まれていません(base 64として読み込まれようとします)。
@types/leaflet
を使用してAngularCLIでプロジェクトをセットアップしました。私の場合、LeafletライブラリはアイコンをBase64としてロードしています。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB[CUT_FOR_BREVITY]ASUVORK5CYII=")marker-icon.png" class="leaflet-marker-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" style="margin-left: -12px; margin-top: -41px; width: 25px; height: 41px; transform: translate3d(225px, 197px, 0px); z-index: 197; outline: none;">
src
フィールドの最後に")marker-icon.png
れているため、画像が無効なbase64として読み込まれません。 Chromeインスペクターでそれを削除すると、アイコンは通常どおり表示されます。
こんにちはみんな、報告してくれてありがとう。 あなたが説明している問題は#4968と同じであると確信しているので、これを重複として閉じます。 これが別の問題だと思われる場合は教えてください。再開を検討します。
最も参考になるコメント
おそらく、これは私がちょうど遭遇した私の問題に関連しています。 マーカーが読み込まれていません(base 64として読み込まれようとします)。
再現する方法
@types/leaflet
を使用してAngularCLIでプロジェクトをセットアップしました。私が期待している行動と私が見ている行動
私の場合、LeafletライブラリはアイコンをBase64としてロードしています。
src
フィールドの最後に")marker-icon.png
れているため、画像が無効なbase64として読み込まれません。 Chromeインスペクターでそれを削除すると、アイコンは通常どおり表示されます。