Google Maps API test
・いろいろプロパティ、メソッドテスト
・マーカー、インフォウィンドウ、座標保存・読出
・レイヤー
チェックサイト
・Google Maps API Official Blog
・Google Maps API | Google グループ
・Main Page - Google Mapki | Changelog
・gmaps-utility-library-dev - Google Code
いろいろプロパティ、メソッドテスト
中心の現在値:ズーム /緯度 /経度lat | lng | setCenter()は4項目全て使用、 panTo()はlat,lngのみ使用、 setZoom()はzoomのみ使用 |
|||
---|---|---|---|---|---|
zoom |
|
type | |||
width | +西,左 | height | +北,上 | 単位ピクセル | |
dx | +西,左 | dy | +北,上 | 1は地図の幅の半分 | |
座標の保存・読出 | savePosition | ||||
infoWindow 中央に表示 |
infoWindowは一つのみ開く openInfoWindow()はDOM要素を、 openInfoWindowHtml()は文字列を渡す |
||||
Marker | 中央に 追加 |
クリア | クリックでinfoWindow、 ダブルクリックで削除にしてみた |
getCenter() 中央座標 |
toString() |
movestart |
movestart | |||
---|---|---|---|---|---|---|
move |
move | |||||
moveend |
moveend | |||||
dragstart |
dragstart | |||||
drag |
drag | |||||
dragend |
dragend | |||||
緯度 / 経度 | lat() | lng() | x,yは推奨されていない | |||
latRadians() | latRad | lngR...() | lngRad | |||
toUrlValue() | Url | |||||
getBounds() 表示範囲 |
toSpan() | toSpan | 表示範囲の緯度,経度の差(距離) | |||
getNorthEast() | lat() 緯度 |
lng() 経度 |
北東右上座標 | |||
getSouthWest() | 南西左下座標 | |||||
Centerからの距離 | 右上 | NE m | 上 | NE m | 右:Right m | |
getZoom() | ?(old:?/new?) | getCurrentMapType() | getName():? | |||
getMapTypes() | GMapTypeの配列、Nameのみ取得 | |||||
getSize() | width | width | height | height | onresizeで取得・書き込み | |
クリックした座標 -> GPoint | x | click_x | y | click_y | clickイベント、pxじゃなく経緯度 | |
カーソルの位置 -> GLatLng | lat() | lat | lng() | lng | mousemoveイベント |
draggingEnabled() | ? |
doubleClickZoomEnabled() | ? |
||
---|---|---|---|---|---|
infoWindowEnabled() | ? |
continuousZoomEnabled() | ? |
位置 | addControl() | removeControl() | 位置 | addControl() | removeControl() | ||
---|---|---|---|---|---|---|---|
GSmallMapControl() | 左上 | GScaleControl() | 右下 | ||||
GLargeMapControl() | GMapTypeControl() | 右上 | |||||
GSmallZoomControl() | GOverviewMapControl() | 右下 |
getName() | Name | getTileSize() | Size | getMinimumResolution() | min |
---|---|---|---|---|---|
getTextColor() | Color | getUrlArg() | ? | getMaximumResolution() | max |
getErrorMessage() | ? |
センターマークはここを参考にした。十字の図形を使うと中心周辺でドラッグできなくなる(地図の上のDIVだから)ので、縦棒と横棒を別々に表示することでその範囲を線の上のみにした。(IEでは文字の高さ分広がるので、fontSizeを0px、backgroundRepeatをno-repeatにして影響を最小限にした)
気になったこと
・IE6とFirefoxでは全然動きのスムーズさが違う。断然Firefoxの方がいい。書き方のせい?
・Firefoxで、1回目のonresizeで変更後のSize,Center,Boundsが取得できない。2回目以降はOK
→onresizeの頭でcheckResize()を呼び出すことで解決
・初期化のsetCenter()ではzoomの指定が有効だが、それ以降はzoomは無視される?
→引数をstringで渡していたのが原因、フォームの値は必ずstringになるので-0やparseIntでnumberにする必要あり
・一度もsavePosition()を実行していない場合、returnToSavedPosition()は初期化時のsetCenterの位置、ズームになるっぽい
・map上(InfoWindowもMarkerもない場所)でクリックすると(clickイベントが発生すると?)、開いているinfoWindowはmap、markerどちらから開いたものも閉じるよう