0

これは私の質問とはあまり関係ありませんが、背景を説明します。MapBox API を使用してマップを作成しました。次に、Leaflet-hash というプラグインを実装したいと考えました。これは基本的に、マップ内の現在の位置を URL ハッシュに格納します。次のようになります。

http://localhost/#5/12.123/60.123

したがって、マップをパンするたびに、座標が更新され、ハッシュが変更されます。これは、別のクリーンな HTML ページで正常に機能しました。しかし、Django サイトでプラグインを使用しようとすると、動作しなくなりました。

プラグインはlocation.replace('#'+coordinates);ハッシュを更新するために使用します。何らかの理由で、これにより Django フレームワーク内でページがリロードされます。また、座標は URL に追加されますが、ハッシュ記号はありません。これには、明らかに望ましくない影響があります。この動作の原因はわかりませんが、次のことがわかりました。

  1. location.replace('#')つまり、ページをリロードせずに URL にハッシュを追加します。
  2. location.replace('#'+'randomWord')期待どおりに動作します。
  3. location.replace('#'+map.getCenter().toString())ハッシュ記号なしで文字列を URL に追加して、ページをリロードします。
  4. location.replace('#'+d3.version)D3がJavascriptライブラリである場合、同じことが起こります。ページがリロードされます。

この動作を取得したい (ハッシュ ボタンを参照): https://www.mapbox.com/mapbox.js/example/v1.0.0/toggling-ui/

4

1 に答える 1

0

Django 1.7.7、 django-leaflet 0.16.0、および最新の leaflet-hash では再現できません。

すべてが期待どおりに機能します。

于 2015-06-03T10:25:09.693 に答える