SlideShare a Scribd company logo
1 of 16
Google Maps API
JavaScriptによる
Google Map カスタマイズ
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 2
JavaScriptによる
Google Maps の活用
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3
まずはGPSの確認
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 4
GPSの利用
• ブラウザのGPS利用可否判断
– navigator.geolocation
• If文で判断します。
• GPSの利用
– getCurrentPosition(success, error, options)
• ユーザーの現在の位置情報を一回だけ取得する
– watchPosition(success, error, options)
• ユーザーの位置情報を定期的に監視する
– clearWatch(id)
• watchPosition()による位置情報の監視をクリアする
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 5
GPSの利用
• getCurrentPosition(success, error, options)
– メソッド内にsuccess関数、error関数、オプションを
設定
• GPSの値取得方法
– success関数の引数.coords.プロパティ
• エラーの使用方法
– error関数の引数.codeの値を利用
• 1:位置情報の利用が許可されていません
• 2:デバイスの位置が判定できません
• 3:タイムアウト
– error関数の引数. messageの値
• エラー内容の詳細を返す
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 6
GPSの利用
• オプションの設定
– enableHighAccuracy
• より精度の高い位置情報を取得する(true, false)
• trueにすると消費電力増、取得時間長
– Timeout
• タイムアウトまでの時間(単位:ミリ秒)
– maximumAge
• 位置情報の有効期限(単位:ミリ秒)
• 記述例
– getCurrentPosition(success, error, {
enableHighAccuracy : true,
timeout : 6000,
maximumAge : 600000
});
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 7
Google Maps の活用
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 8
GoogleMapの利用(カンタン)
• 現在位置をGoogleMapアプリに渡す
1. 現在位置情報を取得
2. 取得した位置をhttp://maps.google.comに渡す
• 記述例
“http://maps.google.com/maps?q=” + 緯度+ “,” + 経度;
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 9
Google Maps API の利用
• Google Maps API V3の確認
– https://developers.google.com/maps/documentation/javascript/?hl=ja
– 詳しくはリファレンスを参照
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 10
Mapの表示
1. Google Maps APIの読み込み
2. LatLng(緯度, 経度):緯度, 経度の設定
3. Map(mapタグ, MapOptions):地図の表示
4. Marker(MarkerOptions):マーカーの表示
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 11
Mapの利用例
• new google.maps.Map(タグオブジェクト, Options);
• 主なオプションの設定
– var Options = {
zoom:数字※大きいほど拡大,
center: new google.maps.LatLng(緯度,経度),
mapTypeId:google.maps.MapTypeId.ROADMAP
}
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 12
Markerの利用例
• new google.maps.Marker(markerOptions);
• 主なオプションの設定
– var markerOptions = {
position: new google.maps.LatLng(緯度,経度),
map: googleMapオブジェクト
}
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 13
マップコントールについて
mapTypeControl
overviewMapControl
panControl
zoomControl
streetViewControl
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 14
軌跡描画
• ポリラインの利用
– ポリラインは、地図上に各座標をつなぐ線を描画
• 記述例
– var オブジェクト=new google.maps.Polyline({
path: 緯度経度配列, //ポリラインの配列
strokeColor: ‘#FF0000’, //色(#RRGGBB形式)
strokeOpacity: 1.0, //透明度 0.0~1.0
strokeWeight: 2 //太さ(単位ピクセル)
});
オブジェクト.setMap(マップオブジェクト)
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 15
住所 → 緯度経度変換
• geocoderの利用
– オブジェクト.geocode(“場所”); で、住所 → 緯度経度
変換が利用できる
– 必ずステータスを確認し、
google.maps.GeocoderStatus.OK
で変換が成功したことを確認する
Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 16
クリックによる緯度経度の取得
• マウスイベント
– google.maps.event.addListenerというイベ
ントで、LatLng (緯度,経度)を取得できる
– クリックした場所にマーカーを配置できる

More Related Content

More from Yossy Taka

HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリYossy Taka
 
Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Yossy Taka
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめYossy Taka
 
canvasによるアナログ時計の作成
canvasによるアナログ時計の作成canvasによるアナログ時計の作成
canvasによるアナログ時計の作成Yossy Taka
 
Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Yossy Taka
 
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-Yossy Taka
 
Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Yossy Taka
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Yossy Taka
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。Yossy Taka
 
Emmetの使い方
Emmetの使い方Emmetの使い方
Emmetの使い方Yossy Taka
 
JavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうJavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうYossy Taka
 
JavaScript basic, jQuery animation
JavaScript basic, jQuery animationJavaScript basic, jQuery animation
JavaScript basic, jQuery animationYossy Taka
 
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-Yossy Taka
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryYossy Taka
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Yossy Taka
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01Yossy Taka
 

More from Yossy Taka (16)

HTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリHTML5 Local Storageを利用したメモ帳アプリ
HTML5 Local Storageを利用したメモ帳アプリ
 
Canvasでペイントアプリ作成
Canvasでペイントアプリ作成Canvasでペイントアプリ作成
Canvasでペイントアプリ作成
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
 
canvasによるアナログ時計の作成
canvasによるアナログ時計の作成canvasによるアナログ時計の作成
canvasによるアナログ時計の作成
 
Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門Canvasによるデジタル時計制作入門
Canvasによるデジタル時計制作入門
 
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
 
Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-Canvas入門01-図形描画とJS活用-
Canvas入門01-図形描画とJS活用-
 
Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語Webの仕組みとプログラミング言語
Webの仕組みとプログラミング言語
 
WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。WebデザイナのためのjQuery入門。
WebデザイナのためのjQuery入門。
 
Emmetの使い方
Emmetの使い方Emmetの使い方
Emmetの使い方
 
JavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おうJavaScript04 jquery プラグインを使おう
JavaScript04 jquery プラグインを使おう
 
JavaScript basic, jQuery animation
JavaScript basic, jQuery animationJavaScript basic, jQuery animation
JavaScript basic, jQuery animation
 
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQuery
 
Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-Webデザイン入門1-HTML5・CSSについて-
Webデザイン入門1-HTML5・CSSについて-
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

JavaScriptによるgoogle maps apiの使い方

  • 2. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 2 JavaScriptによる Google Maps の活用
  • 3. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3 まずはGPSの確認
  • 4. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 4 GPSの利用 • ブラウザのGPS利用可否判断 – navigator.geolocation • If文で判断します。 • GPSの利用 – getCurrentPosition(success, error, options) • ユーザーの現在の位置情報を一回だけ取得する – watchPosition(success, error, options) • ユーザーの位置情報を定期的に監視する – clearWatch(id) • watchPosition()による位置情報の監視をクリアする
  • 5. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 5 GPSの利用 • getCurrentPosition(success, error, options) – メソッド内にsuccess関数、error関数、オプションを 設定 • GPSの値取得方法 – success関数の引数.coords.プロパティ • エラーの使用方法 – error関数の引数.codeの値を利用 • 1:位置情報の利用が許可されていません • 2:デバイスの位置が判定できません • 3:タイムアウト – error関数の引数. messageの値 • エラー内容の詳細を返す
  • 6. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 6 GPSの利用 • オプションの設定 – enableHighAccuracy • より精度の高い位置情報を取得する(true, false) • trueにすると消費電力増、取得時間長 – Timeout • タイムアウトまでの時間(単位:ミリ秒) – maximumAge • 位置情報の有効期限(単位:ミリ秒) • 記述例 – getCurrentPosition(success, error, { enableHighAccuracy : true, timeout : 6000, maximumAge : 600000 });
  • 7. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 7 Google Maps の活用
  • 8. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 8 GoogleMapの利用(カンタン) • 現在位置をGoogleMapアプリに渡す 1. 現在位置情報を取得 2. 取得した位置をhttp://maps.google.comに渡す • 記述例 “http://maps.google.com/maps?q=” + 緯度+ “,” + 経度;
  • 9. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 9 Google Maps API の利用 • Google Maps API V3の確認 – https://developers.google.com/maps/documentation/javascript/?hl=ja – 詳しくはリファレンスを参照
  • 10. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 10 Mapの表示 1. Google Maps APIの読み込み 2. LatLng(緯度, 経度):緯度, 経度の設定 3. Map(mapタグ, MapOptions):地図の表示 4. Marker(MarkerOptions):マーカーの表示
  • 11. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 11 Mapの利用例 • new google.maps.Map(タグオブジェクト, Options); • 主なオプションの設定 – var Options = { zoom:数字※大きいほど拡大, center: new google.maps.LatLng(緯度,経度), mapTypeId:google.maps.MapTypeId.ROADMAP }
  • 12. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 12 Markerの利用例 • new google.maps.Marker(markerOptions); • 主なオプションの設定 – var markerOptions = { position: new google.maps.LatLng(緯度,経度), map: googleMapオブジェクト }
  • 13. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 13 マップコントールについて mapTypeControl overviewMapControl panControl zoomControl streetViewControl
  • 14. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 14 軌跡描画 • ポリラインの利用 – ポリラインは、地図上に各座標をつなぐ線を描画 • 記述例 – var オブジェクト=new google.maps.Polyline({ path: 緯度経度配列, //ポリラインの配列 strokeColor: ‘#FF0000’, //色(#RRGGBB形式) strokeOpacity: 1.0, //透明度 0.0~1.0 strokeWeight: 2 //太さ(単位ピクセル) }); オブジェクト.setMap(マップオブジェクト)
  • 15. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 15 住所 → 緯度経度変換 • geocoderの利用 – オブジェクト.geocode(“場所”); で、住所 → 緯度経度 変換が利用できる – 必ずステータスを確認し、 google.maps.GeocoderStatus.OK で変換が成功したことを確認する
  • 16. Copyright Ⓒ Yoshihiro Takahashi 2011 All Rights Reserved. 16 クリックによる緯度経度の取得 • マウスイベント – google.maps.event.addListenerというイベ ントで、LatLng (緯度,経度)を取得できる – クリックした場所にマーカーを配置できる