質問: いつもお世話になっております。 googlemapのような動きをする地図jqueryを探しています。 必要な機能としては 1.任意の画像を設定できる 2.座標設定でマーカーを設置できる 3.マーカーに情報や画像を設定できる 4.スクロールまたはボタンから地図の拡大縮小ができる 5.ドラッグで地図を動かすことができる 上記5点を満たすjqueryを探しています。 CRAFTMAP このjsが一番近いと思ったのですがズームができません。 他にも探しましたが、1~5の必要な条件のどれかがかけてしまいます。 もし、条件を満たすようなものをご存知の方、もしくは 条件を満たすような方法をご存知のかたいましたら、 よろしくお願い致します。 追記: 条件1の画像というのは自分で作った画像です。 自分で作った地図画像をズームしたり、マーカーを設置したいということです。
回答: Map描画はjQueryである必要が無いので、使用しませんが、OpenLayersやLeafletで実現可能です。 ズームごとにタイル画像を用意し、`http://{s}.tile.osm.org/{z}/{x}/{y}.png`のように取得する感じです。 【OpenLayers 3 - Welcome】 【Leaflet - a JavaScript library for interactive maps】 分割方式や分割画像の生成などは、結構難しかったりするのですが、下記ページにある画像分割ツールを用いることで分割が比較的簡単に行えます。(OpenSeadragonは画像ズームに特化しているため、マーカー機能は無い) そこで書き出したファイル群をLeaflet(+TileLayer.DeepZoomプラグイン)で読み込ませることで、マーカーや吹き出しの実装も可能です。 【OpenSeadragon】 【Creating Zooming Images | OpenSeadragon】(画像分割ツール集) 【Plugins - Leaflet - a JavaScript library for interactive maps】 http://leafletjs.com/plugins.html#non-map-base-layers タイル分割はほかにもZoomifyなどありますが、こちらは有料ソリューションです。ちなみにこちらで分割した画像ならOpenLayers/Leafletどちらも表示できます。 【Zoomify — Zoomable web images!】 また、Google Maps APIでも同じくタイル画像の読み込みが可能です。 【マップタイプ | Google Maps JavaScript API | Google Developers】 【Image map types | Google Maps JavaScript API | Google Developers】 タイル分割にはMapTilerが使えるかも。これでGoogle Maps API/OpenLayers/Leafletのどれでも対応できそう。ただ、10000px x 10000px 以上の画像を扱う場合、有料版が必要なようです。 【MapTiler - map overlay, cut map tiles for Google Maps, GIS layers and mobile apps – MapTiler】 ちょっと散漫になりましたが、参考になれば幸いです。