Leafletjs-markers
LeafletJS-マーカー
マップ上の単一の場所をマークするために、リーフレットにはマーカーが用意されています。 これらのマーカーは標準のシンボルを使用し、これらのシンボルはカスタマイズできます。 この章では、マーカーを追加する方法と、マーカーをカスタマイズ、アニメーション化、および削除する方法について説明します。
シンプルマーカーの追加
Leaflet JavaScriptライブラリを使用してマーカーを地図に追加するには、以下の手順に従ってください-
ステップ1 *-<div>要素(文字列またはオブジェクト)とマップオプション(オプション)を渡すことで *Map オブジェクトを作成します。
ステップ2 *-目的のタイルのURLを渡すことで *Layer オブジェクトを作成します。
ステップ3 *- *Map クラスの* addLayer()*メソッドを使用して、レイヤーオブジェクトをマップに追加します。
ステップ4 *-以下に示すように、マークする位置を表す *latlng オブジェクトを渡すことにより、 Marker クラスをインスタンス化します。
ステップ5 *- *Marker クラスの* addTo()*メソッドを使用して、前の手順で作成したマーカーオブジェクトをマップに追加します。
例
次のコードは、ハイデラバード(インド)という都市にマーカーを設定します。
それは次の出力を生成します-
ポップアップをマーカーにバインド
メッセージを表示するシンプルなポップアップをマーカーにバインドするには、以下の手順に従ってください-
ステップ1 *-<div>要素(文字列またはオブジェクト)とマップオプション(オプション)を渡すことで *Map オブジェクトを作成します。
ステップ2 *-目的のタイルのURLを渡すことで *Layer オブジェクトを作成します。
ステップ3 *- *Map クラスの* addLayer()*メソッドを使用して、レイヤーオブジェクトをマップに追加します。
ステップ4 *-マークする位置を表す *latlng オブジェクトを渡すことにより、 Marker クラスをインスタンス化します。
ステップ5 *-以下に示すように、 bindPopup()*を使用してポップアップをマーカーに添付します。
ステップ6 *-最後に、 *Marker クラスの* addTo()メソッドを使用して、前の手順で作成した *Marker オブジェクトをマップに追加します。
例
次のコードは、都市ハイデラバード(インド)にマーカーを設定し、ポップアップを追加します。
次の出力を生成します
マーカーオプション
マーカーの作成中に、latlangオブジェクトに加えて marker options 変数を渡すこともできます。 この変数を使用して、アイコン、ドラッグ可能、キーボード、タイトル、alt、zInsexOffset、不透明度、riseOnHover、riseOffset、ペイン、ドラッグ可能など、マーカーのさまざまなオプションに値を設定できます。
マップオプションを使用してマップを作成するには、以下に示す手順に従う必要があります-
ステップ1 *-<div>要素(文字列またはオブジェクト)とマップオプション(オプション)を渡すことで *Map オブジェクトを作成します。
ステップ2 *-目的のタイルのURLを渡すことで *Layer オブジェクトを作成します。
ステップ3 *- *Map クラスの* addLayer()*メソッドを使用して、レイヤーオブジェクトをマップに追加します。
- ステップ4 *-markerOptionsの変数を作成し、必要なオプションに値を指定します。
ステップ5 *-マークする位置を表す *latlng オブジェクトと前のステップで作成したオプションオブジェクトを渡すことにより、 Marker クラスをインスタンス化します。
ステップ6 *-最後に、 *Marker クラスの* addTo()メソッドを使用して、前の手順で作成した *Marker オブジェクトをマップに追加します。
例
次のコードは、都市ハイデラバード(インド)にマーカーを設定します。 このマーカーは、タイトル MyLocation でクリックおよびドラッグできます。
次の出力を生成します
マーカーのカスタムアイコン
Leafletライブラリが提供するデフォルトのアイコンの代わりに、独自のアイコンを追加することもできます。 次の手順を使用して、デフォルトアイコンの代わりにカスタムアイコンをマップに追加できます。
ステップ1 *-<div>要素(文字列またはオブジェクト)とマップオプション(オプション)を渡すことで *Map オブジェクトを作成します。
ステップ2 *-目的のタイルのURLを渡すことで *Layer オブジェクトを作成します。
ステップ3 *- *Map クラスの* addLayer()*メソッドを使用して、レイヤーオブジェクトをマップに追加します。
ステップ4 *- *markerOptions の変数を作成し、必要なオプションに値を指定します-
- iconUrl -このオプションの値として、アイコンとして使用する画像のパスを指定する String オブジェクトを渡す必要があります。
- iconSize -このオプションを使用すると、アイコンのサイズを指定できます。
注-これらに加えて、iconSize、shadowSize、iconAnchor、shadowAnchor、popupAnchorなどの他のオプションに値を設定することもできます。
以下に示すように、上記のオプション変数を渡すことにより、* L.icon()*を使用してカスタムアイコンを作成します。
- ステップ5 *-markerOptionsの変数を作成し、必要なオプションに値を指定します。 これらに加えて、前の手順で作成したアイコン変数を値として渡すことにより、アイコンを指定します。
ステップ6 *-マークする位置を表す *latlng オブジェクトと前のステップで作成したオプションオブジェクトを渡すことにより、 Marker クラスをインスタンス化します。
ステップ7 *-最後に、 *Marker クラスの* addTo()メソッドを使用して、前の手順で作成した *Marker オブジェクトをマップに追加します。
例
次のコードは、finddevguidesの場所にマーカーを設定します。 ここでは、デフォルトのマーカーの代わりにfinddevguidesのロゴを使用しています。
次の出力を生成します