// ユーザーの端末がGeoLocation APIに対応しているかの判定
// 対応している場合
if( navigator.geolocation )
{
// 現在地を取得
navigator.geolocation.getCurrentPosition(
// [第1引数] 取得に成功した場合の関数
function( position )
{
var map;//全体マップ
var mk;//現在置いているマーカー
var mk_array = [];//マーカー消去用の配列
// 取得したデータの整理
var data = position.coords ;
// データの整理
var lat = data.latitude ;
var lng = data.longitude ;
var alt = data.altitude ;
var accLatlng = data.accuracy ;
var accAlt = data.altitudeAccuracy ;
var heading = data.heading ; //0=北,90=東,180=南,270=西
var speed = data.speed ;
// アラート表示
// alert( "あなたの現在位置は、\n[" + lat + "," + lng + "]\nです。" ) ;
// HTMLへの書き出し
document.getElementById( 'comment' ).innerHTML = 'Geolocation API を利用して現在位置を取得しています。
' ;
document.getElementById( 'result' ).innerHTML = '
緯度:' + lat + '
経度:' + lng + '
精度:' + accLatlng + 'm
' ;
var zoomnum;
if ( accLatlng < 100 ) {
zoomnum = 17;
} else if ( accLatlng < 300 ) {
zoomnum = 16;
} else if ( accLatlng < 500 ) {
zoomnum = 15;
} else if ( accLatlng < 1000 ) {
zoomnum = 14;
} else if ( accLatlng < 2000 ) {
zoomnum = 13;
} else if ( accLatlng < 5000 ) {
zoomnum = 12;
} else if ( accLatlng < 10000 ) {
zoomnum = 11;
} else {
zoomnum = 10;
}
// 位置情報
var latlng = new google.maps.LatLng( lat , lng ) ;
// Google Mapsに書き出し
map = new google.maps.Map( document.getElementById( 'map-canvas' ) , {
zoom: zoomnum , // ズーム値
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng , // 中心座標 [latlng]
} ) ;
// マーカーの新規出力
mk = new google.maps.Marker( {
map: map ,
position: latlng ,
} ) ;
mk.setMap(map);
mk_array.push(mk);
if (window.opener && !window.opener.closed) {
var oyaIdo = window.opener.document.getElementById('id_ido'); //値をセットするオブジェクトを取得
if(oyaIdo != null){ //値をセットする先が存在する場合は値をセットする
oyaIdo.value = lat;
}
var oyaKeido = window.opener.document.getElementById('id_keido'); //値をセットするオブジェクトを取得
if(oyaKeido != null){ //値をセットする先が存在する場合は値をセットする
oyaKeido.value = lng;
}
}
google.maps.event.addListener(map, 'click', mylistener);
function mylistener(event) {
document.getElementById("result").innerHTML = '緯度:' + event.latLng.lat() + '
経度:' + event.latLng.lng() + '
';
var clicklatlng = new google.maps.LatLng(event.latLng.lat(),event.latLng.lng());
mk = new google.maps.Marker({
map:map,
position: clicklatlng,
});
mk.setMap(map);
mk_array.push(mk);
if (window.opener && !window.opener.closed) {
var oyaIdo = window.opener.document.getElementById('id_ido'); //値をセットするオブジェクトを取得
if(oyaIdo != null){ //値をセットする先が存在する場合は値をセットする
oyaIdo.value = event.latLng.lat();
}
var oyaKeido = window.opener.document.getElementById('id_keido'); //値をセットするオブジェクトを取得
if(oyaKeido != null){ //値をセットする先が存在する場合は値をセットする
oyaKeido.value = event.latLng.lng();
}
}
//console.log(mk_array.length-1);
for(var i=0;i緯度:' + lat + '
経度:' + lng + '' ;
var zoomnum = 7;
// 位置情報
var latlng = new google.maps.LatLng( lat , lng ) ;
// Google Mapsに書き出し
map = new google.maps.Map( document.getElementById( 'map-canvas' ) , {
zoom: zoomnum , // ズーム値
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng , // 中心座標 [latlng]
} ) ;
// マーカーの新規出力
mk = new google.maps.Marker( {
map: map ,
position: latlng ,
} ) ;
mk.setMap(map);
mk_array.push(mk);
if (window.opener && !window.opener.closed) {
var oyaIdo = window.opener.document.getElementById('id_ido'); //値をセットするオブジェクトを取得
if(oyaIdo != null){ //値をセットする先が存在する場合は値をセットする
oyaIdo.value = lat;
}
var oyaKeido = window.opener.document.getElementById('id_keido'); //値をセットするオブジェクトを取得
if(oyaKeido != null){ //値をセットする先が存在する場合は値をセットする
oyaKeido.value = lng;
}
}
google.maps.event.addListener(map, 'click', mylistener);
function mylistener(event) {
document.getElementById("result").innerHTML = '緯度:' + event.latLng.lat() + '
経度:' + event.latLng.lng() + '
';
var clicklatlng = new google.maps.LatLng(event.latLng.lat(),event.latLng.lng());
mk = new google.maps.Marker({
map:map,
position: clicklatlng,
});
mk.setMap(map);
mk_array.push(mk);
if (window.opener && !window.opener.closed) {
var oyaIdo = window.opener.document.getElementById('id_ido'); //値をセットするオブジェクトを取得
if(oyaIdo != null){ //値をセットする先が存在する場合は値をセットする
oyaIdo.value = event.latLng.lat();
}
var oyaKeido = window.opener.document.getElementById('id_keido'); //値をセットするオブジェクトを取得
if(oyaKeido != null){ //値をセットする先が存在する場合は値をセットする
oyaKeido.value = event.latLng.lng();
}
}
//console.log(mk_array.length-1);
for(var i=0;i