web-dev-qa-db-ja.com

LeafletJSを使用したopenstreetmapでマップ言語を英語に設定する

LeafletJSを使用してアプリに地図コンポーネントを追加しています。マップのローカリゼーションを除いて、すべてが順調です。一部の国名は現地の言語で表示されます(私は想定しています)。

国名を英語で表示する方法はありますか?

enter image description here

これは私が使用している現在のコードです

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
                attribution : '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
                noWrap      : true 
}).addTo(map);
28
JohnP

OSMの標準タイルサーバーは、そのようなデータが利用可能な場合は常にローカル言語でラベルを表示しようとします(ローカルとはyourではなく、現在表示されている国の言語を意味します)ローカル言語)。タイルサーバーによって提供される tiles には既にラベルが含まれているため、後で削除することはできません。でも君ならできる:

  • 自分でレンダリング (適切なハードウェアが必要) stylesheet を調整して、または
  • ラベルなしのタイルを使用し、ラベルオーバーレイを作成する
  • 英語のラベルのみを表示する別の タイルサーバー があるかどうかを確認してください。 open mapquest たとえば、すべてのラベルが英語であるOSMデータに基づくタイルがあります。
  • Map internationalization OSMウィキのいくつかの例があります

また、選択したタイルサーバーのタイル使用ポリシーを必ず遵守してください。

15
scai