マーカーにGoogle Chart APIを利用する
Google Maps API(v3) を利用して表示したマーカー(アイコン)は、
Google Chart APIで表現可能な様々なアイコンを利用することもできます。
ここではデフォルトのアイコンからアイコンの変更を行います。
地図の表示
指定したGPS座標を中心にマーカー(アイコン)を表示します。
表示するマーカーの画像は、
Google Chart APIのイメージのURLを指定して設定します。
サンプルコード
HTML
HTMLではGoogle Mapを表示するエリア(<div id=”gmap_canvas”></div>)を配置しています。
エリアを囲んでいる「<div class=”aspect”></div>」部分は、
ページ表示用の高さ制御用のタグです。
1 |
<div class="aspect"><div id="gmap_canvas" class="g_canvas"></div><span id="ver" style="font-size: 0.8em; color: gray;"></span></div> |
CSS
CSSではclass=”aspect”に対して、 幅100%を指定し、 高さをビューポートの50%としています。 GoogleMapを表示するエリア(id=”gmap_canvas”)のサイズを、 class=”aspect”に対しての幅・高さを100%として指定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<style type="text/css"> .aspect{ width:100%; height:50vw; } .aspect_normal, .aspect_dot, .aspect_key, .aspect_dotkey{ width:100%; height:25vw; } #gmap_canvas, #gmap_canvas_normal, #gmap_canvas_dot, #gmap_canvas_key, #gmap_canvas_dotkey, div.g_canvas{ width:100%; height:100%; } </style> |
JavaScript
Markerオブジェクト(def_marker)を作成し対象に
gmap_canvas を指定しています。
Markerオブジェクトを作成する際にiconを指定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<script type="text/javascript"> function init(){ var map_div = document.getElementById("gmap_canvas"); var gmap_canvas = new google.maps.Map(map_div,{ center: new google.maps.LatLng(34.839455, 134.693907), zoom : 14, mapTypeId : google.maps.MapTypeId.ROADMAP }); var imgurl = "https://chart.googleapis.com/chart?chst=d_map_pin_letter_withshadow&chld=A|ff0000|ffff00"; var def_marker = create_marker({ map: gmap_canvas, position: new google.maps.LatLng(34.839455, 134.693907), icon: imgurl }); } function create_marker(options){ var m = new google.maps.Marker(options); return m; } google.maps.event.addDomListener(window,"load",init); $('#ver').text(google.maps.version); </script> |
別途、GoogleMapsAPIのライブラリを読み込む記述が必要です。 ご自分が取得されたAPIキーを以下のコードの(YourAPIkey)部分に置き換えて設定してください。
1 |
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=(YourAPIkey)&v=3"></script> |
Google Chart APIアイコンについて
Google Chart APIから取得するイメージのURLは、
以下の通り直接指定しても開くことができます。
希望のアイコンが生成できているかを確認するにはブラウザで、
渡すURLパラメータの値を変更しながら確認するといいでしょう。
chart (40×37)|Google Chart API
ピンアイコンの指定方法
詳細については以下に書かれています。
Dynamic Icons | Image Charts (Deprecated) | Google Developers
基本的なGoogle Mapのピンの指定方法としては、
以下の規則で指定できます。
「https://chart.googleapis.com/chart?」に続いて、
「chst=」にてピンのスタイルを指定します。
chst=d_map_pin_letter_withshadow
「&」で次のパラメータを連結し、
「chld=」にてピンに表示する「文字|背景色|文字色」と指定します。
色指定はHEXコードによる指定ですが「#」は不要です。
chld=A|ff0000|ffff00
参考
Dynamic Icons | Image Charts (Deprecated) | Google Developers
公開日:
最終更新日:2017/01/12