位置情報を取得してgooglemapに表示 javascript
HTML ソースコード
<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" > <title>i phone androidでの位置情報の取得</title> <script src="http://maps.google.com/maps/api/js?sensor=true"></script> <link rel="stylesheet" type="text/css" href="ccc9.css"> <script src="ddd4.js" type="text/javascript"></script> </head> <body onload="initialize()"> <div id="map_canvas"></div> </body> </html>
ddd4.js
javascriptソースコード
// JavaScript Document //緯度経度用変数の初期化 var latitude =""; var longitude =""; //正常に緯度経度が取得できたときの関数 function successFunc(e){ //前の緯度経度と比較して変わったら地図の更新 if ((e.coords.latitude != latitude) || (e.coords.longitude != longitude) ){ // 緯度取得 latitude = e.coords.latitude; //経度取得 longitude = e.coords.longitude; //緯度経度の設定 var myLatLng = new google.maps.LatLng(latitude,longitude); //オプションを設定 var myOptions = { zoom: 15, center: myLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP }; //地図の生成,表示 var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //マーカーの表示 var marker = new google.maps.Marker({ position: myLatLng, map: map, draggable: true, title:"現在地" }); } } //i phone android端末の検出 デバイスにあわせた画面表示 function detectBrowser() { var useragent = navigator.userAgent; var mapdiv = document.getElementById("map_canvas"); if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) { mapdiv.style.width = '100%'; mapdiv.style.height = '100%'; } else { mapdiv.style.width = '600px'; mapdiv.style.height = '800px'; } } //エラー時の関数 function errorFunc(e){ switch(e.code){ case 1: alert("エラー:GPSの利用が許可されていません。GPSを使えるように設定してください。"); break; case 2: alert("エラー:位置情報が取得できませんでした。"); break; case 3: alert("エラー:タイムアウトしました。"); break; default: alert("エラー:位置情報を表示できませんでした。"); break; } } navigator.geolocation.watchPosition(successFunc, errorFunc);
@charset "utf-8"; /* CSS Document */ html,body{ margin: 0; padding: 0; height: 100%; } #map_canvas{ height: 640px; width: 640px; }
その時に調べた現在地