詳細は Documentation - Leaflet を熟読のこと。
Leaflet.js ライブラリ中で緯度経度をまとめて表現する型が LatLng である。
L.latlng(latitude, longitude)
によって生成できる。ただし、Leaflet ライブラリのすべての関数は、 緯度経度を受けるべきところで、配列やオブジェクト形式も受け付ける。 たとえば以下の指定はいずれも同じ緯度経度扱いとなる。
map.setView(L.latlng(40, 140), 16); map.setView([40, 140], 16); map.setView({lat: 40, lng: 140}, 16); // lon:でも可 map.setView({lng: 140, lat: 40}, 16); // lon:でも可
LatLng で利用できるメソッドの主要なものを抜粋する。
メソッド | 働き |
---|---|
equals(otherLatLng[, error]) |
もう一つの LatLng 値と(差 error
内で)同じ位置なら |
toString() | 文字列に変換した値を返す。 |
distanceTo(otherLatLng) |
もう一つの LatLng 値との距離をm(メートル)で返す。Haversine
の公式による。|
wrap() |
±180度以内の数値に整えた新しい LatLng 値を返す。 |
toBounds(x) |
この位置を中心に一辺約 x メートルの正方形の LatLngBounds オブジェクトを新規に生成して返す。 |
| |
|
LatLng で参照できるプロパティの主要なものを抜粋する。
プロパティ | 意味 |
---|---|
lat | 緯度(度) |
lng | 経度(度) |
alt | メートルによる高度(オプション) |
地図中での矩形領域を表現する型で、以下のいずれかで生成する。
L.latLngBounds(latlng1, latlng2) L.latLngBounds(latlng[])
第1の書式では、2つの LatLng 点を対角とする矩形を、
第2の書式では配列に含まれるすべての LatLng 点を包含する最小の矩形を返す。
この値をマップオブジェクトの fitBounds()
関数に渡すと、所望の点がすべて見えるような視点に変えることができる。
この latLngBounds オブジェクトから使えるメソッド一覧を示す。
メソッド | 働き |
---|---|
extend(latlng) | |
extend(latlngBounds) | |
pad(n) | |
getCenter(), getSouthWest(), | |
getWest(), getSouth(), | |
contains(latlngBnds) | |
contains(latlng) | |
intersects(latlngBnds) | |
overlaps() | |
toBBoxString() | |
equals(latlngBnds) | |
isValid() |
latlngBounds と同様だが、地図上のピクセル値で表現する型である。
★★★★★★★★★★★★★★★★★★
マーカとなるアイコンを保持するオブジェクトである。
L.icon(options)
の書式で生成する。指定できるオプションは以下のとおり。
プロパティ | 意味 | 既定値 |
---|---|---|
iconUrl(str) |
(必須)アイコン画像のURL文字列 | null |
iconRetinaUrl |
Retina液晶サイズ用アイコン画像のURL | null |
iconSize | Point値 によるアイコンサイズ | null |
iconAnchor |
Point値 によるアンカー位置 | null |
popupAnchor | null | |
shadowUrl | null | |
shadowRetinaUrl | null | |
shadowSize | null | |
className | '' |
HTMLのdiv要素をアイコンとして保持するオブジェクトである。 HTMLで表現できるものはすべてアイコン化できるので 色や文字を自在に変えることができる。またCSSで そのdivのスタイルも自由に変えられる。
L.divIcon(options)
の書式で生成する。使用する流れは以下のとおり。
var myIcon = L.divIcon({html: 'HTML文字列'}); L.marker(latLngオブジェクト, {icon: myIcon}).addTo(map);
使用できるオプションは以下のとおり。
プロパティ | 意味 | 既定値 |
---|---|---|
html(str) |
アイコンとして形成するHTML文字列 |
その他、Iconに与えるのと同じ
オプションが利用できる。className
プロパティを指定して、アイコンのスタイルを調整するとよい。
このとき iconSize プロパティに null
を指定しておくと、
div要素本来の大きさで表示される。
<style> div.mydivicon{ width: 150px; height: 50px; border: 3px double green; padding: 1ex; background: #bbcc88dd; text-align: center; font-size: 200%; } </style> // 以下JavaScript var divIcon = L.divIcon({ html: "やあやあ", className: "mydivicon", iconSize: null, iconAnchor: [0,50] }); L.marker(center, {icon: divIcon}).addTo(mymap);
Divicon使用例