/* window.onload = function(){ if (navigator.geolocation == undefined){ alert("位置情報が利用できません"); return; } //監視を開始 //var id; はindex.htmlのほうで110行目あたりで宣言している。 id = navigator.geolocation.watchPosition( successCallback, errorCallback); }; */ //HPで動くGPS歴史遺産オーバーレイを(アンドロイドmonacaよりも前に)開発をはじめた当初は使っていた記述らしいが、 //2021年1月の時点では、実際にはこの記述によってプログラムが起動しているわけではないことに気が付く。 //コメントアウトをOFFにして使ってみても実行エラーにはならないが、実際にはプログラムの実行に寄与していないらしい。 /* 基本的な処理の流れ、 webページが開く、   (これは勘違いで、そう一見みえるだけでここから起動しているわけではないらしいと気が付いた)   window.onload がwebページが開いたことを検知し、navigator.geolocation.watchPosition をまず実行する。   id = navigator.geolocation.watchPosition のid はリアルタイムでユーザーの位置を地図上で更新するのを停止するときなどに、このidにたいして停止のコマンドを実行する、という使い方をするためのもの。 (多分正しくは、googlemapのAPIはスクリプトの中のこの名前の関数を予約された名前の関数としてまず探しに来て、この名前の関数が存在したらそこから初期化のプロセスを始めるらしい) function initMap() { function initMap の中で、  ・function successCallback_SS_onceINI(position)  ・DraggableOverlay.prototype = new google.maps.OverlayView();  ・function DraggableOverlay(map,position,content)  ・navigator.geolocation.getCurrentPosition(successCallback_SS_onceINI, error); navigator.geolocation.watchPosition(successCallback, errorCallback)が実行される過程で 初期化に失敗した場合は function errorCallback  関数 が呼ばれる。(このスクリプトの中で記述されている) ※記述の終わりに showStonehenge(); をコールし、                                                      ユーザー現在地取得に失敗した場合の対処としてストーンヘンジを表示する。 初期化に成功した場合は function successCallback 関数 が呼ばれる。(このスクリプトの中で記述されている(記述されていなかった)) ※気づいたが、 successCallback そのものはこのスクリプトの中に存在しなくなっている。  successCallback を 自前で改変したらしい  function successCallback_SS_onceINI(position){  と  function successCallback_SS_onceINI_returnFromSearchMapMode(position){  は存在している。 */ ////////////////////////////////////////////////////////////////////////////////////////// //////// function間でやり取りできる値として使われるグローバルなスコープの変数達 /////// ////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////// //分かりにくいので気を付ける。////////// //////////////////////////////////////// //(注意。以下のメモはindex.htmlの外部の.phpやjavaファイルはHPに置いたブラウザ用のバージョンでのみの話。)(アンドロイドではindex.htmlに全て記述している)、 //.php(実体はjava) の方で、 //GPSのリアルタイムアップデートを行うための「監視」を navigator.geolocation.watchPosition で開始したとき、 //id = navigator.geolocation.watchPosition みたいに書くことで そのidを取得して、 //必要な時にclearして監視を切るための数字としてこのidを使う。(idは何か複雑な型やオブジェクトが入っているのはなく、単にintで整数値が 0 1 2..みたいに入ってくるだけっぽい感じだった。) //index.htmlに記述しているが、.phpの方からも見えていて、 //index.htmlはマップ検索モードの記述しかないのでGPSのリアルタイムアップデートを行うための「監視」に関係した この var id はindex.htmlの中ではあまり使わないのだが、 //しかし.phpの冒頭で読まれる関数では id を使わなければならず、しかし varの宣言をしてから関数の宣言、という順序を(.php)ファイルの文頭ですると構文エラーになるらしく、 //そのためここに書くしかなくなった。 //////////////////////////////////////// //var id; var id_init; var id_track; //http://stackoverflow.com/questions/14505343/html5-geolocation-clearwatch-is-not-responding //あまり確信がないのだが、このページを真似て、監視idをスタート時(init時)とそのあとで「現在位置の自動更新ON」ボタンを押して走ったidと id_init id_track と分けたのが //kakunin 関数で navigator.geolocation.clearWatch(id名) が正しく働くのに功を奏したっぽい var lat_GLOBAL = 51.178882;//ストーンヘンジの場所 初期値のダミー表示用 var lon_GLOBAL =-1.826215;//ストーンヘンジの場所 var latlon_GLOBAL = new google.maps.LatLng(lat_GLOBAL, lon_GLOBAL); var imageBounds_GLOBAL; /*この段階でmapに= new google.maps.Mapを流し込むと、描画の準備が出来ていないのに処理を開始したときの典型的なエラー error offsetwidthがでてしまう。グローバル変数mapには無理に値をセットせず空で宣言する*/ /* var map = new google.maps.Map(document.getElementById('map'), { zoom: 17, center: latlon_GLOBAL }) */ var map ;//重要 長いこと「GPS散歩モード」関数内と「地図検索モード」関数内 など 関数の内側のローカルなスコープでgooglemap用のmap変数を宣言していたが、 //ここでこうして 空でいいので グローバルなスコープの変数としてあらかじめ宣言しておくことで、各関数内に縛られずアプリの処理のどこからでもmapに対して描画できるようになり、 //自由度が一気に増した。気づいてみれば簡単なことだが、プロジェクトの初めからこうすればよかった。 var oldmap;//オーバーレイの画像を格納するoldmapもグローバルなスコープの変数としてあらかじめ宣言しておく //このoldmapという名前はhistricOverlayというgoogleMapのgroundoverlayのサンプルスクリプトを流用したときにサンプルにあった名前で //古地図というような意味であって、なにかプログラムのプロセスにおいて処理が後であるとか先であるとかそういう意味ではない。 //今考えるとoverlayMapとかにしたらよかった気もするが、もう今更変えると混乱しそうなのでoldmapという名前で押し通すことにした。 //javaの文法で思い出して置きたいのは、、関数内のローカルなスコープで //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); // と var つき記述すると、グローバルな変数の oldmap が存在していても 同じ名前の oldmapというローカル変数がつくられ、 //その関数内ではp という編巣はグローバルな変数ではなく、ローカルに宣言されたローカル変数を意味することになる。 //oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); // とvar無しで描けば、それは各関数内においてもグローバルな変数としてのoldmapへの操作ということになる。 var languageType_GLOBAL="Can not get Language Type of your device";//var languageType_GLOBAL="ja-JP"; var languageType_GLOBAL_userChoice="Not Set";//デバイスの言語設定用を格納する変数とは別に、ユーザーが任意に選んだ言語設定を格納する変数も用意する。 var InfoWindow_currentYourPositionShowHideSwitch_Global=1; var radioList_global="overlayGPSfollowON";//オーバレイ表示した画像がユーザーのGPSの現在位置をリアルタイムでフォローするか否かのスイッチに使う。 //グローバルなスコープの変数としてラジオボタンの結果を受ける。 このindex.htmlだけでなく、外部ファイルの.phpや.js(これらのファイルを使った場合は)からもこの値は見えている。 var currentSelectedPulldownMenu =1000;//int 整数値として使うが、何もプルダウンが選択されていない時を条件でひっかけられるように、プルダウンの選択の範囲を大幅に超えた1000を初期値で入れておいた。 var mySelect_pulldownMenu=0;//currentSelectedPulldownMenuと役割が重複している? いや、いまのところ プルダウンからmySelect_pulldownMenuで受けて、さらにcurrentSelectedPulldownMenuへ値を流すということをしているので今のところ必要。 var lat_offset_clicked_Global; var lon_offset_clicked_Global; var lat2_clicked_Global; var lon2_clicked_Global; var overlayOpacity_Global=1;//オーバレイ表示した画像の透明度。googleMapのAPIには0.0~1.0の値を渡して使う。グローバルなスコープでここで宣言することで、GPS散歩モードと地図検索モードの間で値を共有する。 var maker_counter=0; var overlays = []; var overlays_markers = []; var target; var overLayImageSize_meter = 227;//初期値として 空母 雲竜 の全長227m を入れておく。 var overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 var GPSMODE_MAPMODE_SWITCH=0;//現在のモードがが何であるかを記憶させるためのもの。0がデフォルトの「GPS散歩モード」。1が「地図検索モード」 //日本東京付近での1mあたりの緯度経度 //緯度方向は地球のどこでも1mあたりの度数は一定だが、経度は現在位置によって計算のし直しが必要。 //緯度 latitude   経度 longitude var oneMeter_lat=0.000008987762807290213;//計算し直した//日本東京付近での1mに相当する緯度の度数 : 0.000008983148616//東京付近の1mあたり相当の緯度を仮の初期値としてセット var oneMeter_lon=0.000010966382364; //日本東京付近での1mに相当する経度の度数 : 0.000010966382364//東京付近の1mあたり相当の経度を仮の初期値としてセット //function error(err) { // console.warn('ERROR(' + err.code + '): ' + err.message); //}; //navigator.geolocation.getCurrentPosition(successCallback_SS_once, errorCallback, options); //の引数としてわたすために options を設定 var options_watch = { //varを書かずoptions_watch = { と書いても通るようだ。 enableHighAccuracy: true,//高精度のGPSを使うならtrueにする。逆に言うとfalseで精度の低いPGSを使う理由ってなんなんだろう? timeout: 5000, maximumAge: 0 }; //マップ描画の自動更新のONOFFについては以下のページが参考になった。 //https://developer.mozilla.org/ja/docs/Web/API/Geolocation/watchPosition //https://developer.mozilla.org/ja/docs/Web/API/Geolocation/clearWatch // enableHighAccuracy: false, だったが、trueにしてみた。精度が上がるはず。 //今はvar id; はindex.htmlのほうで110行目あたりで宣言している。 //var id, target, options; var options = { enableHighAccuracy: true,//高精度のGPSを使うならtrueにする。逆に言うとfalseで精度の低いPGSを使う理由ってなんなんだろう? timeout: 5000, maximumAge: 0 }; //日本での1mあたりの緯度経度 //緯度方向は地球のどこでも1mあたりの度数は一定だが、経度は現在位置によって計算のし直しが必要。 //緯度 latitude   経度 longitude //1mあたり緯度 : 0.000008983148616 //1mあたり経度 : 0.000010966382364 var oneMeter_lat=0.000008983148616; var oneMeter_lon=0.000010966382364; ////////////////////////////////////////////////////////////////////////////////////////////////////////// //////// function間でやり取りできる値として使われるグローバルなスコープの変数達 記述の終わり ///////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// //失敗したとき function errorCallback(err) { //英語に関してはen-US en-GB en-AU などいくつものケースがあるので、if文で条件を拾うのが冗長な記述になりそうなので、 //英語に相当する言語コードはここで一括でenとして代入し直している。これ以降はenがlanguageType_GLOBAL_userChoiceに入っているなら英語と判断する。 if(languageType_GLOBAL_userChoice=="en-US"||languageType_GLOBAL=="en"||languageType_GLOBAL=="US"||languageType_GLOBAL=="en-GB"||languageType_GLOBAL=="en-AU"||languageType_GLOBAL=="en-CA"||languageType_GLOBAL=="en-NZ"||languageType_GLOBAL=="en-IE"||languageType_GLOBAL=="en-ZA"||languageType_GLOBAL=="en-JM"||languageType_GLOBAL=="en-029"||languageType_GLOBAL=="en-BZ"||languageType_GLOBAL=="en-TT"||languageType_GLOBAL=="en-ZW") {languageType_GLOBAL_userChoice="en";} if(languageType_GLOBAL_userChoice=="ja-JP")//ユーザー言語設定が日本語なら { alert("デバイスのGPS \n もしくは \n googleマップと \n 通信が出来ません。 \n(エラーコード:"+err.code+") \n"+err.message); } if(languageType_GLOBAL_userChoice=="en") { alert(" App fails to work with GPS \n or \n communicate with google map \n (Error Code:"+err.code+") \n"+err.message); } if(languageType_GLOBAL_userChoice!="ja-JP"&&languageType_GLOBAL_userChoice!="en")//日本語でも英語でもないなら、いまところ結局英語を表示している。 { alert(" App fails to work with GPS \n or \n communicate with google map \n (Error Code:"+err.code+") \n"+err.message); } //alert("デバイスのGPS \n もしくは \n googleマップと \n 通信が出来ません。 \n(エラーコード:"+err.code+") \n"+err.message); showStonehenge(); }//errorCallback関数の終わり function showStonehenge()//もしnavigator.geolocation が取得出来ない場合、仮の現在地としてストーンヘンジを表示する、はず。 { //英語に関してはen-US en-GB en-AU などいくつものケースがあるので、if文で条件を拾うのが冗長な記述になりそうなので、 //英語に相当する言語コードはここで一括でenとして代入し直している。これ以降はenがlanguageType_GLOBAL_userChoiceに入っているなら英語と判断する。 if(languageType_GLOBAL_userChoice=="en-US"||languageType_GLOBAL=="en"||languageType_GLOBAL=="US"||languageType_GLOBAL=="en-GB"||languageType_GLOBAL=="en-AU"||languageType_GLOBAL=="en-CA"||languageType_GLOBAL=="en-NZ"||languageType_GLOBAL=="en-IE"||languageType_GLOBAL=="en-ZA"||languageType_GLOBAL=="en-JM"||languageType_GLOBAL=="en-029"||languageType_GLOBAL=="en-BZ"||languageType_GLOBAL=="en-TT"||languageType_GLOBAL=="en-ZW") {languageType_GLOBAL_userChoice="en";} GPSMODE_MAPMODE_SWITCH=0;//現在のモードが「GPS散歩モード」であることを0をセットすることで記憶させる。0がデフォルト。1が「地図検索モード」 var lat = 51.178882;//ストーンヘンジの場所 初期値のダミー表示用 var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon =-1.826215;//ストーンヘンジの場所 oneMeter_lon = keido_longitude_1meterDosuu(lat); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); latlon = new google.maps.LatLng(lat, lon) //var map = new google.maps.Map(document.getElementById('map'), { map = new google.maps.Map(document.getElementById('map'), { zoom: 17, center: latlon }), marker = new google.maps.Marker({ draggable:false,//こうするだけでtrueの場合ドラッグ可能になる。//マーカーの色々なオプションはこのページがおもしろい。https://developers.google.com/maps/documentation/javascript/markers?hl=ja#complex_icons animation: google.maps.Animation.DROP,//こうするだけで生成時マーカーが上から降ってくるようにできる。マーカーがジャンプするアニメなどもできる。 position: latlon, map: map, title: "We are here!" }); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); /* if(overlays==null){ var oldmap = new google.maps.GroundOverlay( "./images/unryu.png", imageBounds); oldmap.setMap(map); } */ //if(oldmap==null){//どうも有効にならない書き方っぽい。あるいは有効でも、「地図検索モード」の関数codeAddressに入ったとき、oldmapを消すので「地図検索モード」から帰ってくると雲竜を表示してしまうということらしい。 if(currentSelectedPulldownMenu==1000){//プルダウンメニューでまだ何も選択されていないなら初期状態として雲竜を表示する、という意味。currentSelectedPulldownMenuはプルダウンメニューの番号を格納するグローバルな値。 //var oldmap = new google.maps.GroundOverlay( oldmap = new google.maps.GroundOverlay( "./images/unryu.png",//titanic_01_01.png//unryu.png imageBounds); oldmap.setMap(map); } //alert("位置情報が利用できません。\n"+"仮の現在位置としてストーンヘンジを表示しています。"); if(languageType_GLOBAL_userChoice=="ja-JP")//ユーザー言語設定が日本語なら { alert("位置情報が利用できません。\n"+"仮の現在位置としてストーンヘンジを表示しています。"); } if(languageType_GLOBAL_userChoice=="en") { alert("App fails to work with GPS. \n"+"Stonehenge in England is being used \n"+"as your current location for temporary use."); } if(languageType_GLOBAL_userChoice!="ja-JP"&&languageType_GLOBAL_userChoice!="en")//日本語でも英語でもないなら、いまところ結局英語を表示している。 { alert("App fails to work with GPS. \n"+"Stonehenge in England is being used \n"+"as your current location for temporary use."); } }//function showStonehenge()の終わり。 function success(pos) { var crd = pos.coords; alert(crd.latitude); console.log('Your current position is:'); console.log('Latitude : ' + crd.latitude); console.log('Longitude: ' + crd.longitude); console.log('More or less ' + crd.accuracy + ' meters.'); }; function error(err) { console.warn('ERROR(' + err.code + '): ' + err.message); }; function keido_longitude_1meterDosuu(ido_latitude) { //document.write("入力された緯度は"+ido_latitude + "です"); //たとえば東京の緯度北緯35度をido_latitudeに引数で渡すと、東京の緯度での1mは経度(東西方向の長さ)で何度かを返す。 //いくつかの予備的計算 //一秒は何度か? 1/60/60=0.00027777778(度) //任意の緯度(引数として渡されたido_latitude)での1秒のメートル数。 //注意、インターネットの参考のページの数式で掛け算の記号 ? がじつはプログラムで使える掛け算の記号 * でないことがある。見た感じはよく似ているので //気を付ける ?* //1secondMeterOnInputIdoLatitude = 6378150*cos(35/180*π)*2*π/(360*60*60); //こんな式をjavaのプログラムで記述する。 //ちなみに以下を試したら document.write(Math.PI); //ちゃんと3.141592、、と表示される。 //1secondMeterOnInputIdoLatitude = 6378150*cos(35/180*Math.PI)*2*Math.PI/(360*60*60); //赤道面での直径 12 756.274 km メートルだと 6378137m (半径) 12756274m(直径) //半径 6 356.752 314 km(極半径)メートルだと 6356752.314m /* var ensyuritu = Math.PI; //document.write(ensyuritu); document.write("
"); var yobiKeisan_tmp1 = ensyuritu*2; // document.write(yobiKeisan_tmp1); document.write("
"); var yobiKeisan_tmp2 = 360*60*60; //document.write(yobiKeisan_tmp2); document.write("
"); var yobiKeisan_tmp3 = yobiKeisan_tmp1/yobiKeisan_tmp2; //2*Math.PI/(360*60*60) // document.write(yobiKeisan_tmp3); document.write("
"); var yobiKeisan_tmp4 = ido_latitude/(180*ensyuritu); //document.write("yobiKeisan_tmp4 "+yobiKeisan_tmp4); document.write("
"); var yobiKeisan_tmp5 = Math.cos(yobiKeisan_tmp4); //document.write("yobiKeisan_tmp5 "+yobiKeisan_tmp5); document.write("
"); //var 1secondMeterOnInputIdoLatitude =6378150*cos(35/180*Math.PI)*2*Math.PI/(360*60*60); var OneSecMeterOnInputIdoLat = 6378137*yobiKeisan_tmp5*yobiKeisan_tmp3; //document.write(OneSecMeterOnInputIdoLat); document.write("
"); */ /* 結局上のようにもちゃもちゃ計算したのは正しい値が返ってこず、下のように一発の式でやったほうが正しい戻り値でかつ見た目もわかりやすくなった*/ var OneSecMeterOnInputIdoLat =6378150*Math.cos(ido_latitude/180*Math.PI)*2*Math.PI/(360*60*60); //document.write("入力された緯度"+ido_latitude+"における1秒のメートル数は"+ OneSecMeterOnInputIdoLat + "です");document.write("
"); //一秒は何度か? 1/60/60=0.00027777778(度) keido_lon_1meterDosuu_result = 0.00027777778 / OneSecMeterOnInputIdoLat; //alert(OneSecMeterOnInputIdoLat);//東京なら25.3219892(m)なので、東京あたりを表示して25.3219892(m)が返って来れば正しく動いていることになる。 //document.write("入力された緯度"+ido_latitude+"における1メートルに相当する経度の度数は"+ keido_lon_1meterDosuu_result + "です");document.write("
"); // keido_lon_1meterDosuu_result = 2; return keido_lon_1meterDosuu_result; } //スライダーから透明度の値を受け取る。 function updateSlider(slideAmount) { var sliderDiv = document.getElementById("sliderAmount"); //sliderDiv.innerHTML = slideAmount*100; もともとはこの一行であったが、これだと表示が 50.0000099とかユーザーが不安になる表示がされていたのでintに丸めるため以下のように書いた //ネットのjavaの文法では slideAmount_float_temp = (int)(slideAmount*100);みたいに書いてintへfloatから型変換できるらしいのだが、何度やってもmonacaではエラー。 //仕方なく Math.round でint化した。 //以下の記述はhtmel部に現在の透明度を表示するための記述。 slideAmount_float_temp = slideAmount*100; slideAmount_float_int = Math.round(slideAmount_float_temp); sliderDiv.innerHTML = slideAmount_float_int; //これはグーグルマップ上にクリックでオーバーレイの画像を表示するとき、その透明度の値として参照するためのグローバル値をセットするためのもの overlayOpacity_Global=slideAmount; //もともとはプルダウンで選択した歴史遺産を再描画するための関数としてつくったが、透明度の変更後の再描画でも使えるはず。 //テスト中 //pullDownMenuRedraw(); //alert(overlayOpacity_Global); } //これも重要。これを記述していないと。ブラウザでページを立ち上げたときなにも表示されないということになる。 //initMapは実行時一回だけ呼ばれる。ためしにinitialMapにすると実行されないことから initMap という名前でどこかでそう記述されて予約されているらしい。 // initMap() の〆の}は結構下のほうで750行目あたり、initMap()は結構記述が長い。 function initMap() { //chromeでは function successCallback_SS_onceINI による入れ子や それを呼び出すnavigator.geolocation.getCurrentPosition( //などが有効にならないらしく。firefoxにとっては重複の記述になるが以下のように initMap() の直下に記述が必要らしい。 //しかし以前chromeでは自動更新用ON用のボタンが無効だったりと相性は悪いようだ。 //var lat = position.coords.latitude; var lat = 51.178882;//ストーンヘンジの場所 初期値のダミー表示用 //var lat_offset = lat-0.0015; //var lat2 = lat+0.0015; var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); //var lon = position.coords.longitude; var lon =-1.826215;//ストーンヘンジの場所 //var lon_offset = lon-0.0020; //var lon2 = lon+0.002; oneMeter_lon = keido_longitude_1meterDosuu(lat); //document.write("現地点のoneMeter_lonを自前関数で再計算"+oneMeter_lon); document.write("
"); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); //document.write(lat); //document.write(lon); latlon = new google.maps.LatLng(lat, lon) var map = new google.maps.Map(document.getElementById('map'), { zoom: 17, center: latlon }), marker = new google.maps.Marker({ draggable:false,//こうするだけでtrueの場合ドラッグ可能になる。//マーカーの色々なオプションはこのページがおもしろい。https://developers.google.com/maps/documentation/javascript/markers?hl=ja#complex_icons animation: google.maps.Animation.DROP,//こうするだけで生成時マーカーが上から降ってくるようにできる。マーカーがジャンプするアニメなどもできる。 position: latlon, map: map, title: "We are here!" }); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); /* if(overlays==null){ var oldmap = new google.maps.GroundOverlay( "./images/unryu.png", imageBounds); oldmap.setMap(map); } */ //chrome用のfirefoxにとっては重複したきじゅつの終わり //initMap()の中で入れ子で呼び出されるfunctin 実際の実行はやはりinitMap()の中で書かれているnavigator.geolocation.getCurrentPositionで行われれる。 function successCallback_SS_onceINI(position){ //alert(xX); var lat = position.coords.latitude; //var lat = 47; //var lat_offset = lat-0.0015; //var lat2 = lat+0.0015; var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon = position.coords.longitude; //var lon =-120; //var lon_offset = lon-0.0020; //var lon2 = lon+0.002; oneMeter_lon = keido_longitude_1meterDosuu(lat); //document.write("現地点のoneMeter_lonを自前関数で再計算"+oneMeter_lon); document.write("
"); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); //document.write(lat); //document.write(lon); latlon = new google.maps.LatLng(lat, lon) var map = new google.maps.Map(document.getElementById('map'), { zoom: 17, center: latlon }), marker = new google.maps.Marker({ draggable:false,//こうするだけでtrueの場合ドラッグ可能になる。//マーカーの色々なオプションはこのページがおもしろい。https://developers.google.com/maps/documentation/javascript/markers?hl=ja#complex_icons //animation: google.maps.Animation.DROP,//こうするだけで生成時マーカーが上から降ってくるようにできる。マーカーがジャンプするアニメなどもできる。 position: latlon, map: map, title: "We are here!" }); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); //ドラッグのためのカスタムオーバーレイの記述 //ドラッグできるオーバーレイはカスタムオーバーレイというのを使う必要があった。 //自分が用意した画像を表示しているオーバーレイはカスタムオーバーレイではなく ふつうのgorundOberlay。 //.prototypeとかいう言い回しはすべてカスタムオーバレイの書式 //https://developers.google.com/maps/documentation/javascript/customoverlays?hl=ja#initialize //http://jsfiddle.net/doktormolle/QRuW8/ //このページを参考にしたのだが、なぜこのページのサンプルの矩形をドラッグすると自分が今までつくっていたgroundOverlayも一緒に動くのか 正確にはまだ理解できない。 overlay = new DraggableOverlay(map, map.getCenter(), //'
ドラッグできます
' '
' ); //アプリ立ち上げ(GPSモード)->地図検索モード->(GPSモード)にもどってきたとき、このDraggableOverlayが有効にできないというのが今の問題。 //init関数の その中の入れ子関数のfunction successCallback_SS_onceINI(position){ の中で、 クリック関数の直前に overlay = new DraggableOverlay  //クリック関数をでて、のfunction successCallback_SS_onceINI(position)も出た直後に  DraggableOverlay関係のもろもろの記述を書けばよく、 //その方法でindex.htmlのほうの地図検索モードの記述ではドラッグ用の矩形を描けた。 //しかし アプリ立ち上げ(GPSモード)->地図検索モード->(GPSモード)にもどってきたとき は //init 関数にもどってくるのではなく、 function successCallback_SS_onceINI(position) をまるまるコピーした関数にもどってくるのだが、 //その関数内でDraggableOverlay関係の記述をしようとしたが、ついぞ有効にならなかった。 //successCallback_SS_onceINI 内、オーバーレイ画像の描画の直前まで問題なく進めたら、とりあえずはじめに表示しておく歴史遺産として雲竜空母を表示、画像も表示し、かつ kaisetuHyoujiOnHelpPage_DivID というdivIDをつけた div に innerHTMLとして解説文を送信する。 //if(overlays==null){ var oldmap = new google.maps.GroundOverlay( "./images/unryu.png", imageBounds); oldmap.setMap(map); var sliderDiv = document.getElementById("kaisetuHyoujiOnHelpPage_DivID"); kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「雲龍」

' + '

' + '

大日本帝国海軍の雲龍型航空母艦の一番艦。

' + '

1943年9月25日進水 1944年12月19日米潜水艦により撃沈

'+ '

全長227.35m 乗員数1550名ほど 時速62kmで航行できた。

'+ '

大戦末期に造られたこともあり実戦には参加しなかった。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; //} /* 地図がクリックされた時 */ /*各種マウスのイベントの取得はここを参考にする http://phpjavascriptroom.com/?t=ajax&p=googlemapsapiv3_event */ // google.maps.event.addListener(map, 'click', function() { google.maps.event.addListener(map, 'click', function(event) { var myLatLng = event.latLng;//function(event)から 緯度と経度を個別に取り出す方法は以下のとおり //var lat = myLatLng.lat(); //var lng = myLatLng.lng(); //2021 追記 lat_GLOBAL = myLatLng.lat(); lon_GLOBAL = myLatLng.lng(); latlon_GLOBAL = new google.maps.LatLng(lat_GLOBAL, lon_GLOBAL); //var oneMeter_lat=0.000008983148616;//現在地点の1mあたり緯度を入れるための変数 とそのダミーの初期値 //var oneMeter_lon=0.000008983148616;//現在地点の1mあたり経度 を入れるための変数 とそのダミーの初期値 経度の方は後で自前関数 keido_longitude_1meterDosuu で再計算される。 //var overLayImageSize_meter = 227; //var overLayImageSize_meter = 227; if(mySelect_pulldownMenu==0){ var overLayImageSize_meter = 227;//空母 雲竜 の全長227m currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ var overLayImageSize_meter = 269;//タイタニック の全長269m currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ var overLayImageSize_meter = 800;//富士山 の山頂火口直径780m 画像は800mの正方形に相当 currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ var overLayImageSize_meter = 230.37;//ギザの大ピラミッド クフ王のピラミッド 一辺230.37m currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ var overLayImageSize_meter = 1100;//東京都調布市の巨大団地「多摩川住宅」(1.1Km四方で表示) currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ var overLayImageSize_meter = 110.6;//サターンVロケット 110.6m currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ var overLayImageSize_meter = 550;//イエス・キリストが十字架を背負って歩いた道(550m四方で表示) currentSelectedPulldownMenu=6; } if(mySelect_pulldownMenu==7){ var overLayImageSize_meter = 220;//コロシアム 220m四方で表示 コロシアム自体の大きさは長径188m短径156m currentSelectedPulldownMenu=7; } if(mySelect_pulldownMenu==8){ var overLayImageSize_meter = 3000;//ナイアガラ 3000m四方で表示 currentSelectedPulldownMenu=8; } if(mySelect_pulldownMenu==9){ var overLayImageSize_meter = 3000;//エアーズロック 3000m四方で表示 currentSelectedPulldownMenu=9; } if(mySelect_pulldownMenu==10){ var overLayImageSize_meter = 263;//大和 263m currentSelectedPulldownMenu=10; } if(mySelect_pulldownMenu==11){ var overLayImageSize_meter = 4200;//セントラルパーク 4200m四方で表示 currentSelectedPulldownMenu=11; } if(mySelect_pulldownMenu==12){ var overLayImageSize_meter = 6200;//ベニス 6200m四方で表示 currentSelectedPulldownMenu=12; } if(mySelect_pulldownMenu==13){ var overLayImageSize_meter = 634;//東京スカイツリー 634m currentSelectedPulldownMenu=13; } if(mySelect_pulldownMenu==14){ var overLayImageSize_meter = 324;//エッフェル塔 324m currentSelectedPulldownMenu=14; } if(mySelect_pulldownMenu==15){ var overLayImageSize_meter = 16000;//山手線 16000m四方で表示 currentSelectedPulldownMenu=15; } if(mySelect_pulldownMenu==16){ var overLayImageSize_meter = 700;//東京ドーム 700m四方で表示 currentSelectedPulldownMenu=16; } if(mySelect_pulldownMenu==17){ var overLayImageSize_meter = 30;//シロナガスクジラ 30mで表示 currentSelectedPulldownMenu=17; } if(mySelect_pulldownMenu==18){ var overLayImageSize_meter = 19000;//セントヘレナ島 19km四方で表示 currentSelectedPulldownMenu=18; } if(mySelect_pulldownMenu==19){ var overLayImageSize_meter = 100;//ナスカの地上絵からハチドリ 100m四方で表示 currentSelectedPulldownMenu=19; } if(mySelect_pulldownMenu==20){ var overLayImageSize_meter = 3600;//ベルサイユ宮殿とその庭園 3.6km四方で表示 currentSelectedPulldownMenu=20; } if(mySelect_pulldownMenu==21){ var overLayImageSize_meter = 500;//ペンタゴン 500m四方で表示 currentSelectedPulldownMenu=21; } if(mySelect_pulldownMenu==22){ var overLayImageSize_meter = 350;//モン・サン=ミシェル 350m四方で表示 currentSelectedPulldownMenu=22; } if(mySelect_pulldownMenu==23){ var overLayImageSize_meter = 4800;//沖ノ鳥島 4.8km四方で表示 currentSelectedPulldownMenu=23; } if(mySelect_pulldownMenu==24){ var overLayImageSize_meter = 600;//軍艦島 600m四方で表示 currentSelectedPulldownMenu=24; } if(mySelect_pulldownMenu==25){ var overLayImageSize_meter = 800;//五稜郭 800m四方で表示 currentSelectedPulldownMenu=25; } if(mySelect_pulldownMenu==26){ var overLayImageSize_meter = 1900;//仁徳天皇陵 1.9km四方で表示 currentSelectedPulldownMenu=26; } overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 var lat =myLatLng.lat(); var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon =myLatLng.lng(); //oneMeter_lon = keido_longitude_1meterDosuu(results[0].geometry.location.lat());//検索結果の緯度経度を使うgeocorderの時はこれだが、、 oneMeter_lon = keido_longitude_1meterDosuu(position.coords.latitude);//init関数内のGPSのポジションから緯度経度を使う場合はこれ。 var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2));  oldmap.setMap(null);//function codeAddress でつくったoldmapを消すことができる。 //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity //なぜか opacity: overlayOpacity_Global と書くとエラー、、仕方なく条件を細かくわけることに。 if(overlayOpacity_Global>0.9){ var overlayOpts = { opacity:1 } } if(overlayOpacity_Global<=0.9&&overlayOpacity_Global>=0.8){ var overlayOpts = { opacity:0.85 } } if(overlayOpacity_Global<0.8&&overlayOpacity_Global>=0.7){ var overlayOpts = { opacity:0.75 } } if(overlayOpacity_Global<0.7&&overlayOpacity_Global>=0.6){ var overlayOpts = { opacity:0.65 } } if(overlayOpacity_Global<0.6&&overlayOpacity_Global>=0.5){ var overlayOpts = { opacity:0.55 } } if(overlayOpacity_Global<0.5&&overlayOpacity_Global>=0.4){ var overlayOpts = { opacity:0.45 } } if(overlayOpacity_Global<0.4&&overlayOpacity_Global>=0.3){ var overlayOpts = { opacity:0.35 } } if(overlayOpacity_Global<0.3&&overlayOpacity_Global>=0.2){ var overlayOpts = { opacity:0.25 } } if(overlayOpacity_Global<0.2&&overlayOpacity_Global>=0.1){ var overlayOpts = { opacity:0.15 } } if(overlayOpacity_Global<0.1&&overlayOpacity_Global>=0.0){ var overlayOpts = { opacity:0.0 } } //alert(overlayOpacity_Global); //alert( radioList_global); //alert("mySelect_pulldownMenu チェック"+mySelect_pulldownMenu); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //mySelect_pulldownMenuという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ if(mySelect_pulldownMenu==0){ overlays.push(new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==1){ overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==2){ overlays.push(new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==3){ overlays.push(new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts)); //alert(overlayOpacity_Global); } if(mySelect_pulldownMenu==4){ overlays.push(new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==5){ overlays.push(new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==6){ overlays.push(new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==7){ overlays.push(new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==8){ overlays.push(new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==9){ overlays.push(new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==10){ overlays.push(new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==11){ overlays.push(new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==12){ overlays.push(new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==13){ overlays.push(new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==14){ overlays.push(new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==15){ overlays.push(new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==16){ overlays.push(new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==17){ overlays.push(new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==18){ overlays.push(new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==19){ overlays.push(new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==20){ overlays.push(new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==21){ overlays.push(new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==22){ overlays.push(new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==23){ overlays.push(new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==24){ overlays.push(new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==25){ overlays.push(new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==26){ overlays.push(new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts)); } overlays_markers.push(new google.maps.Marker({position: event.latLng,map: map})); /*一回だけ表示すれば良くて何回も何度もマーカーを表示しなくていい場合は以下のようにシンプルに書ける*/ /* var maker = new google.maps.Marker({ position: event.latLng, map: map }); */ overlays[maker_counter].setMap(map); overlays_markers[maker_counter].setMap(map); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 /* if(overlays.length==2){ overlays[0].setMap(null); } if(overlays.length==3){ overlays[1].setMap(null); } if(overlays.length==4){ overlays[2].setMap(null); } if(overlays.length==5){ overlays[3].setMap(null); } if(overlays.length==6){ overlays[4].setMap(null); } */ //上記の羅列を換言したのが以下 var tmp_a =0; if(overlays.length>=2){ tmp_a=overlays.length-2; overlays[tmp_a].setMap(null); overlays_markers[tmp_a].setMap(null); } maker_counter++; //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 //そのスタックの管理操作に使うインクリメント //alert("クリックイベントQ"); }); //google.maps.event.addListener(map, 'click', function(event) { の終わり //注意、まだ initMap()の関数の入れ子の関数のfunction successCallback_SS_onceINI(position) の 中  }//function successCallback_SS_onceINI(position)の終わり。(注意、まだ initMap()の関数の入れ子の中 ) //ドラッグできるオーバーレイはカスタムオーバーレイというのを使う必要があった。 //.prototypeとかいう言い回しはすべてカスタムオーバレイの書式 //https://developers.google.com/maps/documentation/javascript/customoverlays?hl=ja#initialize //http://jsfiddle.net/doktormolle/QRuW8/ DraggableOverlay.prototype = new google.maps.OverlayView(); function DraggableOverlay(map,position,content){ if(typeof draw==='function'){ this.draw=draw; } this.setValues({ position:position, container:null, content:content, map:map }); } DraggableOverlay.prototype.onAdd = function() { var container=document.createElement('div'), that=this; if(typeof this.get('content').nodeName!=='undefined'){ container.appendChild(this.get('content')); } else{ if(typeof this.get('content')==='string'){ container.innerHTML=this.get('content'); } else{ return; } } container.style.position='absolute'; container.draggable=true; google.maps.event.addDomListener(this.get('map').getDiv(), 'mouseleave', function(){ google.maps.event.trigger(container,'mouseup'); } ); google.maps.event.addDomListener(container, 'mousedown', function(e){ this.style.cursor='move'; that.map.set('draggable',false); that.set('origin',e); that.moveHandler = google.maps.event.addDomListener(that.get('map').getDiv(), 'mousemove', function(e){ var origin = that.get('origin'), left = origin.clientX-e.clientX, top = origin.clientY-e.clientY, pos = that.getProjection() .fromLatLngToDivPixel(that.get('position')), latLngDRAG = that.getProjection() .fromDivPixelToLatLng(new google.maps.Point(pos.x-left, pos.y-top)); that.set('origin',e); that.set('position',latLngDRAG); that.draw(); }); } ); google.maps.event.addDomListener(container,'mouseup',function(){ that.map.set('draggable',true); this.style.cursor='default'; google.maps.event.removeListener(that.moveHandler); }); this.set('container',container) this.getPanes().floatPane.appendChild(container); };//function initialize(position)の終わり DraggableOverlay.prototype.draw = function() { var pos = this.getProjection().fromLatLngToDivPixel(this.get('position')); this.get('container').style.left = pos.x + 'px'; this.get('container').style.top = pos.y + 'px'; }; /* DraggableOverlay.prototype.onRemove = function() { this.get('container').parentNode.removeChild(this.get('container')); this.set('container',null) }; */ //これなくてもドラッグできてる。 //google.maps.event.addDomListener(window, 'load', initialize); //function error(err) { // console.warn('ERROR(' + err.code + '): ' + err.message); //} //alert("おっけー"); navigator.geolocation.getCurrentPosition(successCallback_SS_onceINI, error); }//initMap()のおわり //googleマップの関数について、以下のページへ  function successCallback(position) のキーワードで検索してたどり着いたのが突破口になった。 // http://www.htmq.com/geolocation/ //   これもマップのアップデートを定期的にではなくイニシャル時だけアップデートする記述の参考になった https://developer.mozilla.org/ja/docs/Web/API/Geolocation/getCurrentPosition //実行時一回だけ引数で指定したfunctionを実行する。functionの名前は success(以下の例だとsuccessCallback_SS_once), error でなくても任意に変えてよいらしい。 //navigator.geolocation.getCurrentPosition(successCallback_SS_once, error, options); //このように書いて↑それにつづけて function successCallback_SS_once(position) {//successCallbackという関数名に引数positionを渡してやるとposition.coords.latitudeが取得できる。 //みたいに書いてその中で initMap() の中の入れ子関数の function successCallback_SS_onceINI(position) と同じようなものを書いてやると // initMap()->initMap() の中の入れ子関数の function successCallback_SS_onceINI(position) -> navigator.geolocation.getCurrentPosition(successCallback_SS_once, error, options); // のなかで指定した関数 この例だと successCallback_SS_once へ、という処理の流れができるが、 //IE と Firefoxで initMapの中までの処理か、initMapの外まで出て navigator.geolocation.getCurrentPosition(successCallback_SS_once, error, options); 以降まで処理が流れていか //違いかあることに気が付いたので、違いがでないように initMapの中までの処理、ということを前提にすることに統一することにした。 function kakunin(btnNo){ if (btnNo == 1){ //link = "Yahoo!Japan"; //href = "http://www.yahoo.co.jp/"; }else{ //navigator.geolocation.clearWatch(id); } //ret = confirm(link + "へ飛びます。宜しいですか?"); ret = confirm("OK->自動更新ON \n キャンセル->自動更新OFF"); if (ret == true){ //id = navigator.geolocation.watchPosition(initMap, error, options_watch); //var id; はindex.htmlのほうで110行目あたりで宣言している。 id = navigator.geolocation.watchPosition(successCallback_SS_onceINI_returnFromSearchMapMode, error, options_watch); //navigator.geolocation.getCurrentPosition(successCallback_SS_once, error, options); } else{ //var id; はindex.htmlのほうで110行目あたりで宣言している。 //navigator.geolocation.clearWatch(id);//watchPositionで監視をスタートしたときに得たidを指定してアップデートを切るclearできる。 //idには特別な型が入っているわけではなく、intが入ってきているだけだった。 id のサイズでfor文をつくって消せばいいような気がするがなぜか文法エラーで以下のように書いたほうが //javaではまだ動くという奇妙なことになっている。存在しないidを消そうとしても例外エラーにjavaはならないらしい。 //たてつづけにnavigator.geolocation.clearWatch(0); navigator.geolocation.clearWatch(2); ..みたいに書くのは例えば //10書くと、今度は自動更新のボタンを11回目まで押さないと更新がONにならないとか、またそれはそれで奇妙なことになるようだった。 //気づいたのだが、一回自動更新ボタンを押して、その都度、行儀よくというかその一回に対応するようにキャンセルボタンを押す場合は、 //ちゃんとキャンセルされるが、 自動更新ボタンを複数回連続で押すと、どうもidが一つではなくが配列なってスタックされるようで、 //もうそうなるとキャンセルを一回押しても自動更新が解除されない。 キャンセルを複数回押せば解除されるかというとそういうものでもないらしい。 //複数watchPositionが走っている状態になると、画面が短い間隔でリフレッシュのためのに点滅したり、地図検索モードに入ったのにGPSモードにリフレッシュで引き戻されたりする。 //idにはなにか特別な型ではいっているのでなく、単にintで 0 1 2 3..とはいってくるだけだと気づいた。 navigator.geolocation.clearWatch(id); } //alert(radioList_global); } //initMap()の中で入れ子で呼び出されるfunction successCallback_SS_onceINI と全く同じ内容。 //initMapでアプリ起動時にGPSからの位置情報でマップ表示->ユーザーが地図検索でマップ表示->(再びユーザーが)GPSからの位置情報でマップ表示に「戻ってくるとき」呼び出すためだけの関数。 //initMapの中のネストした入れ子のsuccessCallback_SS_onceINIをよびだそうとしたが、クラスではそういうことができるが、functionではそれがなぜがjavaはできないとの情報あり。 //で、あきらめて こうして重複した記述をすることにした。 function successCallback_SS_onceINI_returnFromSearchMapMode(position){ latlon_clicked_Global = new google.maps.LatLng(lat2_clicked_Global, lon2_clicked_Global); //init_returnFromSearchMapMode(); var lat = position.coords.latitude; //var lat = 47; //var lat_offset = lat-0.0015; //var lat2 = lat+0.0015; var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon = position.coords.longitude; //var lon =-120; //var lon_offset = lon-0.0020; //var lon2 = lon+0.002; oneMeter_lon = keido_longitude_1meterDosuu(lat); //document.write("現地点のoneMeter_lonを自前関数で再計算"+oneMeter_lon); document.write("
"); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); //document.write(lat); //document.write(lon); latlon = new google.maps.LatLng(lat, lon); //2021 // var map = new google.maps.Map(document.getElementById('map'), { map = new google.maps.Map(document.getElementById('map'), { zoom: 17, center: latlon }), marker = new google.maps.Marker({ position: latlon, map: map, title: "We are here!" }); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); /* var oldmap = new google.maps.GroundOverlay( "./images/unryu.png", imageBounds); oldmap.setMap(map); */ //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity //なぜか opacity: overlayOpacity_Global と書くとエラー、、仕方なく条件を細かくわけることに。 if(overlayOpacity_Global>0.9){ var overlayOpts = { opacity:1 } } if(overlayOpacity_Global<=0.9&&overlayOpacity_Global>=0.8){ var overlayOpts = { opacity:0.85 } } if(overlayOpacity_Global<0.8&&overlayOpacity_Global>=0.7){ var overlayOpts = { opacity:0.75 } } if(overlayOpacity_Global<0.7&&overlayOpacity_Global>=0.6){ var overlayOpts = { opacity:0.65 } } if(overlayOpacity_Global<0.6&&overlayOpacity_Global>=0.5){ var overlayOpts = { opacity:0.55 } } if(overlayOpacity_Global<0.5&&overlayOpacity_Global>=0.4){ var overlayOpts = { opacity:0.45 } } if(overlayOpacity_Global<0.4&&overlayOpacity_Global>=0.3){ var overlayOpts = { opacity:0.35 } } if(overlayOpacity_Global<0.3&&overlayOpacity_Global>=0.2){ var overlayOpts = { opacity:0.25 } } if(overlayOpacity_Global<0.2&&overlayOpacity_Global>=0.1){ var overlayOpts = { opacity:0.15 } } if(overlayOpacity_Global<0.1&&overlayOpacity_Global>=0.0){ var overlayOpts = { opacity:0.0 } } //alert(overlayOpacity_Global); //alert( radioList_global); /* if(currentSelectedPulldownMenu==0){ var IniTemp_map = new google.maps.GroundOverlay("./images/unryu.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==1){ var IniTemp_map = new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==2){ var IniTemp_map = new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==3){ var IniTemp_map = new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==4){ var IniTemp_map = new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==5){ var IniTemp_map = new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds); IniTemp_map.setMap(map); } if(currentSelectedPulldownMenu==6){ var IniTemp_map = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds); IniTemp_map.setMap(map); } */ //radioList_global には overlayGPSfollowON か overlayGPSfollowOFF の値が入ってきている。 if(radioList_global=="overlayGPSfollowON"){ if(currentSelectedPulldownMenu==0){ var oldmap = new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==1){ var oldmap = new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==2){ var oldmap = new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==3){ var oldmap = new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==4){ var oldmap = new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==5){ var oldmap = new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==6){ var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==7){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==8){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==9){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==10){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==11){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==12){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==13){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==14){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==15){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==16){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==17){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==18){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==19){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==20){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==21){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==22){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==23){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==24){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==25){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==26){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } }//if(radioList_global==overlayGPSfollowON){ の終わり //lat_offset_clicked_Global がヌル、つまりまだクリックした値が入っていないときは現在地を仮の初期値として固定表示用の位置情報に使う。 if(lat_offset_clicked_Global==null) { lat_offset_clicked_Global=lat_offset; lon_offset_clicked_Global=lon_offset; lat2_clicked_Global=lat2; lon2_clicked_Global=lon2; } if(radioList_global=="overlayGPSfollowOFF"){ // oldmap.setMap(null);//function codeAddress でつくったoldmapを消すことができる。 //alert(lat_offset_clicked_Global); //alert(lon_offset_clicked_Global); //alert(lat2_clicked_Global); //alert(lon2_clicked_Global); var imageBounds_clicked_Global = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset_clicked_Global,lon_offset_clicked_Global), new google.maps.LatLng(lat2_clicked_Global,lon2_clicked_Global)); if(currentSelectedPulldownMenu==0){ var oldmap = new google.maps.GroundOverlay("./images/unryu.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==1){ var oldmap = new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==2){ var oldmap = new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==3){ var oldmap = new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==4){ var oldmap = new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==5){ var oldmap = new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==6){ var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==7){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==8){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==9){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==10){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==11){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==12){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==13){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==14){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==15){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==16){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==17){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==18){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==19){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==20){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==21){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==22){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==23){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==24){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==25){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==26){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds_clicked_Global,overlayOpts); oldmap.setMap(map); } }//if(radioList_global==overlayGPSfollowOFF){ の終わり /* 地図がクリックされた時 */ /*各種マウスのイベントの取得はここを参考にする http://phpjavascriptroom.com/?t=ajax&p=googlemapsapiv3_event */ // google.maps.event.addListener(map, 'click', function() { google.maps.event.addListener(map, 'click', function(event) { //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity var overlayOpts = { //opacity:0.3 opacity:overlayOpacity_Global } //alert(overlayOpacity_Global); //alert( radioList_global); var myLatLng = event.latLng;//function(event)から 緯度と経度を個別に取り出す方法は以下のとおり //var lat = myLatLng.lat(); //var lng = myLatLng.lng(); //2021 追記 lat_GLOBAL = myLatLng.lat(); lon_GLOBAL = myLatLng.lng(); latlon_GLOBAL = new google.maps.LatLng(lat_GLOBAL, lon_GLOBAL); //var oneMeter_lat=0.000008983148616;//現在地点の1mあたり緯度を入れるための変数 とそのダミーの初期値 //var oneMeter_lon=0.000008983148616;//現在地点の1mあたり経度 を入れるための変数 とそのダミーの初期値 経度の方は後で自前関数 keido_longitude_1meterDosuu で再計算される。 //var overLayImageSize_meter = 227; //var overLayImageSize_meter = 227; if(mySelect_pulldownMenu==0){ var overLayImageSize_meter = 227;//空母 雲竜 の全長227m currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ var overLayImageSize_meter = 269;//タイタニック の全長269m currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ var overLayImageSize_meter = 800;//富士山 の山頂火口直径780m 画像は800mの正方形に相当 currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ var overLayImageSize_meter = 230.37;//ギザの大ピラミッド クフ王のピラミッド 一辺230.37m currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ var overLayImageSize_meter = 1100;//東京都調布市の巨大団地「多摩川住宅」(1.1Km四方で表示) currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ var overLayImageSize_meter = 110.6;//サターンVロケット 110.6m currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ var overLayImageSize_meter = 550;//イエス・キリストが十字架を背負って歩いた道(550m四方で表示) currentSelectedPulldownMenu=6; } if(mySelect_pulldownMenu==7){ var overLayImageSize_meter = 220;//コロシアム 220m四方で表示 コロシアム自体の大きさは長径188m短径156m currentSelectedPulldownMenu=7; } if(mySelect_pulldownMenu==8){ var overLayImageSize_meter = 3000;//ナイアガラ 3000m四方で表示 currentSelectedPulldownMenu=8; } if(mySelect_pulldownMenu==9){ var overLayImageSize_meter = 3000;//エアーズロック 3000m四方で表示 currentSelectedPulldownMenu=9; } if(mySelect_pulldownMenu==10){ var overLayImageSize_meter = 263;//大和 263m currentSelectedPulldownMenu=10; } if(mySelect_pulldownMenu==11){ var overLayImageSize_meter = 4200;//セントラルパーク 4200m四方で表示 currentSelectedPulldownMenu=11; } if(mySelect_pulldownMenu==12){ var overLayImageSize_meter = 6200;//ベニス 6200m四方で表示 currentSelectedPulldownMenu=12; } if(mySelect_pulldownMenu==13){ var overLayImageSize_meter = 634;//東京スカイツリー 634m currentSelectedPulldownMenu=13; } if(mySelect_pulldownMenu==14){ var overLayImageSize_meter = 324;//エッフェル塔 324m currentSelectedPulldownMenu=14; } if(mySelect_pulldownMenu==15){ var overLayImageSize_meter = 16000;//山手線 16000m四方で表示 currentSelectedPulldownMenu=15; } if(mySelect_pulldownMenu==16){ var overLayImageSize_meter = 700;//東京ドーム 700m四方で表示 currentSelectedPulldownMenu=16; } if(mySelect_pulldownMenu==17){ var overLayImageSize_meter = 30;//シロナガスクジラ 30mで表示 currentSelectedPulldownMenu=17; } if(mySelect_pulldownMenu==18){ var overLayImageSize_meter = 19000;//セントヘレナ島 19km四方で表示 currentSelectedPulldownMenu=18; } if(mySelect_pulldownMenu==19){ var overLayImageSize_meter = 100;//ナスカの地上絵からハチドリ 100m四方で表示 currentSelectedPulldownMenu=19; } if(mySelect_pulldownMenu==20){ var overLayImageSize_meter = 3600;//ベルサイユ宮殿とその庭園 3.6km四方で表示 currentSelectedPulldownMenu=20; } if(mySelect_pulldownMenu==21){ var overLayImageSize_meter = 500;//ペンタゴン 500m四方で表示 currentSelectedPulldownMenu=21; } if(mySelect_pulldownMenu==22){ var overLayImageSize_meter = 350;//モン・サン=ミシェル 350m四方で表示 currentSelectedPulldownMenu=22; } if(mySelect_pulldownMenu==23){ var overLayImageSize_meter = 4800;//沖ノ鳥島 4.8km四方で表示 currentSelectedPulldownMenu=23; } if(mySelect_pulldownMenu==24){ var overLayImageSize_meter = 600;//軍艦島 600m四方で表示 currentSelectedPulldownMenu=24; } if(mySelect_pulldownMenu==25){ var overLayImageSize_meter = 800;//五稜郭 800m四方で表示 currentSelectedPulldownMenu=25; } if(mySelect_pulldownMenu==26){ var overLayImageSize_meter = 1900;//仁徳天皇陵 1.9km四方で表示 currentSelectedPulldownMenu=26; } overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 var lat =myLatLng.lat(); var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon =myLatLng.lng(); //oneMeter_lon = keido_longitude_1meterDosuu(results[0].geometry.location.lat());//検索結果の緯度経度を使うgeocorderの時はこれだが、、 oneMeter_lon = keido_longitude_1meterDosuu(position.coords.latitude);//init関数内のGPSのポジションから緯度経度を使う場合はこれ。 var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); lat_offset_clicked_Global=lat_offset; lon_offset_clicked_Global=lon_offset; lat2_clicked_Global=lat2; lon2_clicked_Global=lon2; var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity var overlayOpts = { //opacity:0.3 opacity:overlayOpacity_Global } //alert(overlayOpacity_Global); //alert( radioList_global);  oldmap.setMap(null);//function codeAddress でつくったoldmapを消すことができる。 //alert("mySelect_pulldownMenu チェック"+mySelect_pulldownMenu); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //mySelect_pulldownMenuという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ if(mySelect_pulldownMenu==0){ overlays.push(new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ overlays.push(new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ overlays.push(new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ overlays.push(new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ overlays.push(new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts)); currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ currentSelectedPulldownMenu=6; overlays.push(new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==7){ overlays.push(new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==8){ overlays.push(new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==9){ overlays.push(new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==10){ overlays.push(new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==11){ overlays.push(new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==12){ overlays.push(new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==13){ overlays.push(new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==14){ overlays.push(new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==15){ overlays.push(new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==16){ overlays.push(new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==17){ overlays.push(new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==18){ overlays.push(new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==19){ overlays.push(new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==20){ overlays.push(new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==21){ overlays.push(new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==22){ overlays.push(new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==23){ overlays.push(new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==24){ overlays.push(new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==25){ overlays.push(new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==26){ overlays.push(new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts)); } overlays_markers.push(new google.maps.Marker({position: event.latLng,map: map})); /*一回だけ表示すれば良くて何回も何度もマーカーを表示しなくていい場合は以下のようにシンプルに書ける*/ /* var maker = new google.maps.Marker({ position: event.latLng, map: map }); */ overlays[maker_counter].setMap(map); overlays_markers[maker_counter].setMap(map); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 /* if(overlays.length==2){ overlays[0].setMap(null); } if(overlays.length==3){ overlays[1].setMap(null); } if(overlays.length==4){ overlays[2].setMap(null); } if(overlays.length==5){ overlays[3].setMap(null); } if(overlays.length==6){ overlays[4].setMap(null); } */ //上記の羅列を換言したのが以下 var tmp_a =0; if(overlays.length>=2){ tmp_a=overlays.length-2; overlays[tmp_a].setMap(null); overlays_markers[tmp_a].setMap(null); } maker_counter++; //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 //そのスタックの管理操作に使うインクリメント //alert("クリックイベントQ"); }); //google.maps.event.addListener(map, 'click', function(event) { の終わり //注意、まだ initMap()の関数の入れ子の関数のfunction successCallback_SS_onceINI(position) の 中  }//function successCallback_SS_onceINI(position)の終わり。(注意、まだ initMap()の関数の入れ子の中 ) function kaisetuHyouji_0_OnMapPage() { //window.onload = function(){の中でアプリ立ち上げ時にまず呼び出される。 var sliderDiv = document.getElementById("kaisetuHyouji_0_OnMapPage_DivID");//設定ページの文字表示をしたい箇所にこの名前のIDのdivがある。 //英語の様々な表記に関して、扱い易いように一括でenを代入する。 //注意。 バーチャルデバイスでテストするとif(languageType_GLOBAL_userChoice!="ja-JP"){で囲わなくて // if(languageType_GLOBAL_userChoice=="en-US"||la..以下略で英語関係のタイプの時はenを代入するというのが有効だが、HTConeだとなぜかif文が無視されたようにかならず // languageType_GLOBAL_userChoice="en";の代入をおこなってしまうので日本語でなければという条件であえて周りを囲んだ。この日本語でなければという条件はHTConeでも有効になっている。 if(languageType_GLOBAL_userChoice!="ja-JP"){ if(languageType_GLOBAL_userChoice=="en-US"||languageType_GLOBAL=="en"||languageType_GLOBAL=="US"||languageType_GLOBAL=="en-GB"||languageType_GLOBAL=="en-AU"||languageType_GLOBAL=="en-CA"||languageType_GLOBAL=="en-NZ"||languageType_GLOBAL=="en-IE"||languageType_GLOBAL=="en-ZA"||languageType_GLOBAL=="en-JM"||languageType_GLOBAL=="en-029"||languageType_GLOBAL=="en-BZ"||languageType_GLOBAL=="en-TT"||languageType_GLOBAL=="en-ZW") {languageType_GLOBAL_userChoice="en";} } if(languageType_GLOBAL_userChoice=="ja-JP") { kaisetu_string = ''+ '(タップして一覧から)表示する歴史遺産を選択
'+ '
'+ ''+ '
'+ ''+ '
'+ '
'+ '「GPS散歩モード」>'+ ''+ ''+ '
'+ '
'+ '「地図検索モード」>'+ ''+ ''+ '
'+ '
'; } //if(languageType_GLOBAL_userChoice=="en")//HTCone以外のデバイスではif文で条件わけができているが、HTConeでは日本語ならそれ以外elseという書き方しか理解できないらしかった。 else { kaisetu_string = ''+ 'Select cultural heritage from drop-down menu.
'+ '
'+ ''+ '
'+ ''+ '
'+ '
'+ 'GPS walk Mode ->'+ ''+//Auto update your current location ON だと行変えがおこるので少し文字数を減らした。 ''+ '
'+ '
'+ 'Map search Mode ->'+ ''+ ''+//value="Search Map" だと行変えがおこるので少し文字数を減らした。 '
'+ '
'; } //HTCone以外のデバイスではif文で条件わけができているが、HTConeでは日本語ならそれ以外elseという書き方しか理解できないらしかった。 //HTCone上でもエラーにならないので ユーザー言語設定が日本語と英語以外なら という表現を以下に残したが、果たして実際にその条件が来たときHTConeがその条件が拾えているのか怪しい。 if(languageType_GLOBAL_userChoice!="ja-JP"&&languageType_GLOBAL_userChoice!="en")//日本語でも英語でもないなら、いまところ結局英語を表示している。 { kaisetu_string = ''+ 'Select cultural heritage from drop-down menu.
'+ '
'+ ''+ '
'+ ''+ '
'+ '
'+ 'GPS walk Mode ->'+ ''+ ''+ '
'+ '
'+ 'Map search Mode ->'+ ''+ ''+ '
'+ '
'; } sliderDiv.innerHTML = kaisetu_string; } function codeAddress(address) { //////////////////////////////////////// //分かりにくいので気を付ける。////////// //////////////////////////////////////// //.php(実体はjava) の方で、GPSのリアルタイムアップデートを行うための「監視」を navigator.geolocation.watchPosition で開始したとき、 //id = navigator.geolocation.watchPosition みたいに書くことで そのidを取得して、 //必要な時にclearして監視を切るための数字としてこのidを使っている。 //アプリが動いたとき、まずGPSリアルタイムアップデートを行うための「監視」がONの状態でプログラムが走るが、 //GPSモードからマップ検索モードではいったとき、あるいは何度かモードの間を行き来したあとでマップ検索モードにはいったとき、「監視」のwatchPositionがclear常駐で走ったままだと、 //GPSモードへつれもどされてしまうことがあるらしい。なので、idが空でなく、リアルタイムアップデートが走っていそうなときは検索ボタンを押したのを契機にwatchPositionをクリアして切る。 if(id!=null) { navigator.geolocation.clearWatch(id);//watchPositionで監視をスタートしたときに得たidを指定してアップデートを切るclearできる。 } //オリジナルの書き方はこうだった。 /* // 地図表示に関するオプション var mapOptions = { zoom: 18, mapTypeId: google.maps.MapTypeId.ROADMAP, // マウスホイールによるズーム操作を無効 scrollwheel: false }; // 地図を表示させるインスタンスを生成 var map = new google.maps.Map(document.getElementById("map"), mapOptions); */ //googlemap上の操作の各種ボタンの表示の操作はこのページに詳しい。https://developers.google.com/maps/documentation/javascript/controls?hl=ja#ControlPositioning //scaleControl(たぶん定規、しかし画面右下以外には位置を選べないっぽい) rotateControlは表示してる地図の場所によっては45度回転ができるとかなんとかいうものらしいが、、 //後で気づいたが、rotateは衛星画像の時だけ回転表示用のボタンが現れる。しかしオーバーレイは一緒に回転しない。ボタンが消えてしまったときはWクリックして再表示できる。 //var map = new google.maps.Map(document.getElementById('map'), { map = new google.maps.Map(document.getElementById('map'), { //var map と書かず、 直接mapと書くことで、このmapはヘッダ内で宣言したグローバルな変数を使っていることになる zoom: 17, center: latlon, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.TOP_RIGHT }, streetViewControl: true, streetViewControlOptions: { position: google.maps.ControlPosition.TOP_RIGHT }, scaleControl: true, scaleControlOptions: { position: google.maps.ControlPosition.LEFT_CENTER }, rotateControl: true, rotateControlOptions: { position: google.maps.ControlPosition.LEFT_CENTER }, }); // google.maps.Geocoder()コンストラクタのインスタンスを生成 var geocoder = new google.maps.Geocoder(); // geocoder.geocode()メソッドを実行 geocoder.geocode( { 'address': address}, function(results, status) { // ジオコーディングが成功した場合 if (status == google.maps.GeocoderStatus.OK) { // google.maps.Map()コンストラクタに定義されているsetCenter()メソッドで // 変換した緯度・経度情報を地図の中心に表示 map.setCenter(results[0].geometry.location); // 地図上に目印となるマーカーを設定います。 // google.maps.Marker()コンストラクタにマーカーを設置するMapオブジェクトと // 変換した緯度・経度情報を渡してインスタンスを生成 // →マーカー詳細 var marker = new google.maps.Marker({ draggable:false,//こうするだけでtrueの場合ドラッグ可能になる。//マーカーの色々なオプションはこのページがおもしろい。https://developers.google.com/maps/documentation/javascript/markers?hl=ja#complex_icons //animation: google.maps.Animation.DROP,//こうするだけで生成時マーカーが上から降ってくるようにできる。マーカーがジャンプするアニメなどもできる。 map: map, position: results[0].geometry.location }); var infowindow = new google.maps.InfoWindow({ content: address }); infowindow.open(map, marker); //日本での1mあたりの緯度経度 //緯度方向は地球のどこでも1mあたりの度数は一定だが、経度は現在位置によって計算のし直しが必要。 //緯度 latitude   経度 longitude //1mあたり緯度 : 0.000008983148616 //1mあたり経度 : 0.000010966382364 var oneMeter_lat=0.000008983148616;//東京付近の1mあたり相当の緯度を仮の初期値としてセット var oneMeter_lon=0.000008983148616;//東京付近の1mあたり相当の経度を仮の初期値としてセット //var oneMeter_lon=0.000010966382364; if(mySelect_pulldownMenu==0){ var overLayImageSize_meter = 227;//空母 雲竜 の全長227m currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ var overLayImageSize_meter = 269;//タイタニック の全長269m currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ var overLayImageSize_meter = 800;//富士山 の山頂火口直径780m 画像は800mの正方形に相当 currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ var overLayImageSize_meter = 230.37;//ギザの大ピラミッド クフ王のピラミッド 一辺230.37m currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ var overLayImageSize_meter = 1100;//東京都調布市の巨大団地「多摩川住宅」(1.1Km四方で表示) currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ var overLayImageSize_meter = 110.6;//サターンVロケット 110.6m currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ var overLayImageSize_meter = 550;//イエス・キリストが十字架を背負って歩いた道(550m四方で表示) currentSelectedPulldownMenu=6; } if(mySelect_pulldownMenu==7){ var overLayImageSize_meter = 220;//コロシアム 220m四方で表示 コロシアム自体の大きさは長径188m短径156m currentSelectedPulldownMenu=7; } if(mySelect_pulldownMenu==8){ var overLayImageSize_meter = 3000;//ナイアガラ 3000m四方で表示 currentSelectedPulldownMenu=8; } if(mySelect_pulldownMenu==9){ var overLayImageSize_meter = 3000;//エアーズロック 3000m四方で表示 currentSelectedPulldownMenu=9; } if(mySelect_pulldownMenu==10){ var overLayImageSize_meter = 263;//大和 263m currentSelectedPulldownMenu=10; } if(mySelect_pulldownMenu==11){ var overLayImageSize_meter = 4200;//セントラルパーク 4200m四方で表示 currentSelectedPulldownMenu=11; } if(mySelect_pulldownMenu==12){ var overLayImageSize_meter = 6200;//ベニス 6200m四方で表示 currentSelectedPulldownMenu=12; } if(mySelect_pulldownMenu==13){ var overLayImageSize_meter = 634;//東京スカイツリー 634m currentSelectedPulldownMenu=13; } if(mySelect_pulldownMenu==14){ var overLayImageSize_meter = 324;//エッフェル塔 324m currentSelectedPulldownMenu=14; } if(mySelect_pulldownMenu==15){ var overLayImageSize_meter = 16000;//山手線 16000m四方で表示 currentSelectedPulldownMenu=15; } if(mySelect_pulldownMenu==16){ var overLayImageSize_meter = 700;//東京ドーム 700m四方で表示 currentSelectedPulldownMenu=16; } if(mySelect_pulldownMenu==17){ var overLayImageSize_meter = 30;//シロナガスクジラ 30mで表示 currentSelectedPulldownMenu=17; } if(mySelect_pulldownMenu==18){ var overLayImageSize_meter = 19000;//セントヘレナ島 19km四方で表示 currentSelectedPulldownMenu=18; } if(mySelect_pulldownMenu==19){ var overLayImageSize_meter = 100;//ナスカの地上絵からハチドリ 100m四方で表示 currentSelectedPulldownMenu=19; } if(mySelect_pulldownMenu==20){ var overLayImageSize_meter = 3600;//ベルサイユ宮殿とその庭園 3.6km四方で表示 currentSelectedPulldownMenu=20; } if(mySelect_pulldownMenu==21){ var overLayImageSize_meter = 500;//ペンタゴン 500m四方で表示 currentSelectedPulldownMenu=21; } if(mySelect_pulldownMenu==22){ var overLayImageSize_meter = 350;//モン・サン=ミシェル 350m四方で表示 currentSelectedPulldownMenu=22; } if(mySelect_pulldownMenu==23){ var overLayImageSize_meter = 4800;//沖ノ鳥島 4.8km四方で表示 currentSelectedPulldownMenu=23; } if(mySelect_pulldownMenu==24){ var overLayImageSize_meter = 600;//軍艦島 600m四方で表示 currentSelectedPulldownMenu=24; } if(mySelect_pulldownMenu==25){ var overLayImageSize_meter = 800;//五稜郭 800m四方で表示 currentSelectedPulldownMenu=25; } if(mySelect_pulldownMenu==26){ var overLayImageSize_meter = 1900;//仁徳天皇陵 1.9km四方で表示 currentSelectedPulldownMenu=26; } overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 //loc[0]=results[0].geometry.location.lat(); //loc[1]=results[0].geometry.location.lng(); //var lat = position.coords.latitude; //var lat =35.7100627; var lat =results[0].geometry.location.lat(); var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); //var lon = position.coords.longitude; //var lon =139.8107004; var lon =results[0].geometry.location.lng(); /* document.write("住所情報は"+results[0].geometry.location.lat()+"
"); document.write("住所情報は"+results[0].geometry.location.lng()+"
"); document.write("緯度経度"); alert("緯度"+results[0].geometry.location.lat()+"\n"+"経度"+results[0].geometry.location.lng()+"\n"); */ //keido_longitude_1meterDosuu(results[0].geometry.location.lat()); oneMeter_lon = keido_longitude_1meterDosuu(results[0].geometry.location.lat()); //document.write("現地点のoneMeter_lonを自前関数で再計算"+oneMeter_lon); document.write("
"); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); //2021 追記 //lat_GLOBAL = myLatLng.lat(); //lon_GLOBAL = myLatLng.lng(); lat_GLOBAL = lat; lon_GLOBAL = lon; latlon_GLOBAL = new google.maps.LatLng(lat_GLOBAL, lon_GLOBAL); /* var oldmap = new google.maps.GroundOverlay( "./unryu.png", imageBounds); oldmap.setMap(map); */ //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity //なぜか opacity: overlayOpacity_Global と書くとエラー、、仕方なく条件を細かくわけることに。 if(overlayOpacity_Global>0.9){ var overlayOpts = { opacity:1 } } if(overlayOpacity_Global<=0.9&&overlayOpacity_Global>=0.8){ var overlayOpts = { opacity:0.85 } } if(overlayOpacity_Global<0.8&&overlayOpacity_Global>=0.7){ var overlayOpts = { opacity:0.75 } } if(overlayOpacity_Global<0.7&&overlayOpacity_Global>=0.6){ var overlayOpts = { opacity:0.65 } } if(overlayOpacity_Global<0.6&&overlayOpacity_Global>=0.5){ var overlayOpts = { opacity:0.55 } } if(overlayOpacity_Global<0.5&&overlayOpacity_Global>=0.4){ var overlayOpts = { opacity:0.45 } } if(overlayOpacity_Global<0.4&&overlayOpacity_Global>=0.3){ var overlayOpts = { opacity:0.35 } } if(overlayOpacity_Global<0.3&&overlayOpacity_Global>=0.2){ var overlayOpts = { opacity:0.25 } } if(overlayOpacity_Global<0.2&&overlayOpacity_Global>=0.1){ var overlayOpts = { opacity:0.15 } } if(overlayOpacity_Global<0.1&&overlayOpacity_Global>=0.0){ var overlayOpts = { opacity:0.0 } } //alert(overlayOpacity_Global); if(currentSelectedPulldownMenu==0){ var oldmap = new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==1){ var oldmap = new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==2){ var oldmap = new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==3){ var oldmap = new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==4){ var oldmap = new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==5){ var oldmap = new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==6){ var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==7){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==8){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==9){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==10){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==11){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==12){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==13){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==14){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==15){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==16){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==17){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==18){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==19){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==20){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==21){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==22){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==23){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==24){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==25){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } if(currentSelectedPulldownMenu==26){ //var oldmap = new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds_clicked_Global,overlayOpts); oldmap = new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts); oldmap.setMap(map); } //ドラッグのためのカスタムオーバーレイの記述 //ドラッグできるオーバーレイはカスタムオーバーレイというのを使う必要があった。 //自分が用意した画像を表示しているオーバーレイはカスタムオーバーレイではなく ふつうのgorundOberlay。 //http://jsfiddle.net/doktormolle/QRuW8/ //このページを参考にしたのだが、なぜこのページのサンプルの矩形をドラッグすると自分が今までつくっていたgroundOverlayも一緒に動くのか 正確にはまだ理解できない。 overlay = new DraggableOverlay(map, map.getCenter(), //'
ドラッグできます
' '
' ); /* 地図がクリックされた時 参考 */ /* google.maps.event.addListener(map, 'click', function() { alert("クリックイベント"+event.latLng); }); var infowindow = new google.maps.InfoWindow({ content:"Hello Worldです!" }); */ google.maps.event.addListener(map, 'click', function(event) { var myLatLng = event.latLng;//function(event)から 緯度と経度を個別に取り出す方法は以下のとおり //var lat = myLatLng.lat(); //var lng = myLatLng.lng(); //2021 追記 lat_GLOBAL = myLatLng.lat(); lon_GLOBAL = myLatLng.lng(); latlon_GLOBAL = new google.maps.LatLng(lat_GLOBAL, lon_GLOBAL); var oneMeter_lat=0.000008983148616;//現在地点の1mあたり緯度を入れるための変数 とそのダミーの初期値 var oneMeter_lon=0.000008983148616;//現在地点の1mあたり経度 を入れるための変数 とそのダミーの初期値 経度の方は後で自前関数 keido_longitude_1meterDosuu で再計算される。 //var overLayImageSize_meter = 227; //var overLayImageSize_meter = 227; if(mySelect_pulldownMenu==0){ var overLayImageSize_meter = 227;//空母 雲竜 の全長227m currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ var overLayImageSize_meter = 269;//タイタニック の全長269m currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ var overLayImageSize_meter = 800;//富士山 の山頂火口直径780m 画像は800mの正方形に相当 currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ var overLayImageSize_meter = 230.37;//ギザの大ピラミッド クフ王のピラミッド 一辺230.37m currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ var overLayImageSize_meter = 1100;//東京都調布市の巨大団地「多摩川住宅」(1.1Km四方で表示) currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ var overLayImageSize_meter = 110.6;//サターンVロケット 110.6m currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ var overLayImageSize_meter = 550;//イエス・キリストが十字架を背負って歩いた道(550m四方で表示) currentSelectedPulldownMenu=6; } if(mySelect_pulldownMenu==7){ var overLayImageSize_meter = 220;//コロシアム 220m四方で表示 コロシアム自体の大きさは長径188m短径156m currentSelectedPulldownMenu=7; } if(mySelect_pulldownMenu==8){ var overLayImageSize_meter = 3000;//ナイアガラ 3000m四方で表示 currentSelectedPulldownMenu=8; } if(mySelect_pulldownMenu==9){ var overLayImageSize_meter = 3000;//エアーズロック 3000m四方で表示 currentSelectedPulldownMenu=9; } if(mySelect_pulldownMenu==10){ var overLayImageSize_meter = 263;//大和 263m currentSelectedPulldownMenu=10; } if(mySelect_pulldownMenu==11){ var overLayImageSize_meter = 4200;//セントラルパーク 4200m四方で表示 currentSelectedPulldownMenu=11; } if(mySelect_pulldownMenu==12){ var overLayImageSize_meter = 6200;//ベニス 6200m四方で表示 currentSelectedPulldownMenu=12; } if(mySelect_pulldownMenu==13){ var overLayImageSize_meter = 634;//東京スカイツリー 634m currentSelectedPulldownMenu=13; } if(mySelect_pulldownMenu==14){ var overLayImageSize_meter = 324;//エッフェル塔 324m currentSelectedPulldownMenu=14; } if(mySelect_pulldownMenu==15){ var overLayImageSize_meter = 16000;//山手線 16000m四方で表示 currentSelectedPulldownMenu=15; } if(mySelect_pulldownMenu==16){ var overLayImageSize_meter = 700;//東京ドーム 700m四方で表示 currentSelectedPulldownMenu=16; } if(mySelect_pulldownMenu==17){ var overLayImageSize_meter = 30;//シロナガスクジラ 30mで表示 currentSelectedPulldownMenu=17; } if(mySelect_pulldownMenu==18){ var overLayImageSize_meter = 19000;//セントヘレナ島 19km四方で表示 currentSelectedPulldownMenu=18; } if(mySelect_pulldownMenu==19){ var overLayImageSize_meter = 100;//ナスカの地上絵からハチドリ 100m四方で表示 currentSelectedPulldownMenu=19; } if(mySelect_pulldownMenu==20){ var overLayImageSize_meter = 3600;//ベルサイユ宮殿とその庭園 3.6km四方で表示 currentSelectedPulldownMenu=20; } if(mySelect_pulldownMenu==21){ var overLayImageSize_meter = 500;//ペンタゴン 500m四方で表示 currentSelectedPulldownMenu=21; } if(mySelect_pulldownMenu==22){ var overLayImageSize_meter = 350;//モン・サン=ミシェル 350m四方で表示 currentSelectedPulldownMenu=22; } if(mySelect_pulldownMenu==23){ var overLayImageSize_meter = 4800;//沖ノ鳥島 4.8km四方で表示 currentSelectedPulldownMenu=23; } if(mySelect_pulldownMenu==24){ var overLayImageSize_meter = 600;//軍艦島 600m四方で表示 currentSelectedPulldownMenu=24; } if(mySelect_pulldownMenu==25){ var overLayImageSize_meter = 800;//五稜郭 800m四方で表示 currentSelectedPulldownMenu=25; } if(mySelect_pulldownMenu==26){ var overLayImageSize_meter = 1900;//仁徳天皇陵 1.9km四方で表示 currentSelectedPulldownMenu=26; } overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 var lat =myLatLng.lat(); var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); var lon =myLatLng.lng(); oneMeter_lon = keido_longitude_1meterDosuu(results[0].geometry.location.lat()); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2));    oldmap.setMap(null);//function codeAddress でつくったoldmapを消すことができる。 //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity //なぜか opacity: overlayOpacity_Global と書くとエラー、、仕方なく条件を細かくわけることに。 if(overlayOpacity_Global>0.9){ var overlayOpts = { opacity:1 } } if(overlayOpacity_Global<=0.9&&overlayOpacity_Global>=0.8){ var overlayOpts = { opacity:0.85 } } if(overlayOpacity_Global<0.8&&overlayOpacity_Global>=0.7){ var overlayOpts = { opacity:0.75 } } if(overlayOpacity_Global<0.7&&overlayOpacity_Global>=0.6){ var overlayOpts = { opacity:0.65 } } if(overlayOpacity_Global<0.6&&overlayOpacity_Global>=0.5){ var overlayOpts = { opacity:0.55 } } if(overlayOpacity_Global<0.5&&overlayOpacity_Global>=0.4){ var overlayOpts = { opacity:0.45 } } if(overlayOpacity_Global<0.4&&overlayOpacity_Global>=0.3){ var overlayOpts = { opacity:0.35 } } if(overlayOpacity_Global<0.3&&overlayOpacity_Global>=0.2){ var overlayOpts = { opacity:0.25 } } if(overlayOpacity_Global<0.2&&overlayOpacity_Global>=0.1){ var overlayOpts = { opacity:0.15 } } if(overlayOpacity_Global<0.1&&overlayOpacity_Global>=0.0){ var overlayOpts = { opacity:0.0 } } //alert(overlayOpacity_Global);  //alert("mySelect_pulldownMenu チェック"+mySelect_pulldownMenu); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //mySelect_pulldownMenuという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ if(mySelect_pulldownMenu==0){ overlays.push(new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==1){ overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==2){ overlays.push(new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==3){ overlays.push(new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==4){ overlays.push(new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==5){ overlays.push(new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==6){ overlays.push(new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==7){ overlays.push(new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==8){ overlays.push(new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==9){ overlays.push(new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==10){ overlays.push(new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==11){ overlays.push(new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==12){ overlays.push(new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==13){ overlays.push(new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==14){ overlays.push(new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==15){ overlays.push(new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==16){ overlays.push(new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==17){ overlays.push(new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==18){ overlays.push(new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==19){ overlays.push(new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==20){ overlays.push(new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==21){ overlays.push(new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==22){ overlays.push(new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==23){ overlays.push(new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==24){ overlays.push(new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==25){ overlays.push(new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==26){ overlays.push(new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts)); } overlays_markers.push(new google.maps.Marker({position: event.latLng,map: map})); /*一回だけ表示すれば良くて何回も何度もマーカーを表示しなくていい場合は以下のようにシンプルに書ける*/ /* var maker = new google.maps.Marker({ position: event.latLng, map: map }); */ overlays[maker_counter].setMap(map); overlays_markers[maker_counter].setMap(map); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 /* if(overlays.length==2){ overlays[0].setMap(null); } if(overlays.length==3){ overlays[1].setMap(null); } if(overlays.length==4){ overlays[2].setMap(null); } if(overlays.length==5){ overlays[3].setMap(null); } if(overlays.length==6){ overlays[4].setMap(null); } */ //上記の羅列を換言したのが以下 var tmp_a =0; if(overlays.length>=2){ tmp_a=overlays.length-2; overlays[tmp_a].setMap(null); overlays_markers[tmp_a].setMap(null); } /* geocoder.geocode({ 'latLng': event.latLng },function(result, status){ if(staus==google.maps.GeocoderStatus.OK){ var infoWindowSS = new google.maps.InfoWindow({ content: result[0].formatted_address }); infoWindowSS.open(map, marker); }else{ alert("エラーです"); } }); */ maker_counter++; //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 //そのスタックの管理操作に使うインクリメント }); //google.maps.event.addListener(map, 'click', function(event) { の終わり // ジオコーディングが成功しなかった場合 //if (status == google.maps.GeocoderStatus.OK) {の終わりのブラケット } else { console.log('Geocode was not successful for the following reason: ' + status); } });// geocoder.geocode( { 'address': address}, function(results, status) { の終わり //ドラッグのためのカスタムオーバーレイの記述 //ドラッグできるオーバーレイはカスタムオーバーレイというのを使う必要があった。 //自分が用意した画像を表示しているオーバーレイはカスタムオーバーレイではなく ふつうのgorundOberlay。 //.prototypeとかいう言い回しはすべてカスタムオーバレイの書式 //https://developers.google.com/maps/documentation/javascript/customoverlays?hl=ja#initialize //http://jsfiddle.net/doktormolle/QRuW8/ //このページを参考にしたのだが、なぜこのページのサンプルの矩形をドラッグすると自分が今までつくっていたgroundOverlayも一緒に動くのか 正確にはまだ理解できない。 DraggableOverlay.prototype = new google.maps.OverlayView(); function DraggableOverlay(map,position,content){ if(typeof draw==='function'){ this.draw=draw; } this.setValues({ position:position, container:null, content:content, map:map }); } DraggableOverlay.prototype.onAdd = function() { var container=document.createElement('div'), that=this; if(typeof this.get('content').nodeName!=='undefined'){ container.appendChild(this.get('content')); } else{ if(typeof this.get('content')==='string'){ container.innerHTML=this.get('content'); } else{ return; } } container.style.position='absolute'; container.draggable=true; google.maps.event.addDomListener(this.get('map').getDiv(), 'mouseleave', function(){ google.maps.event.trigger(container,'mouseup'); } ); google.maps.event.addDomListener(container, 'mousedown', function(e){ this.style.cursor='move'; that.map.set('draggable',false); that.set('origin',e); that.moveHandler = google.maps.event.addDomListener(that.get('map').getDiv(), 'mousemove', function(e){ var origin = that.get('origin'), left = origin.clientX-e.clientX, top = origin.clientY-e.clientY, pos = that.getProjection() .fromLatLngToDivPixel(that.get('position')), latLngDRAG = that.getProjection() .fromDivPixelToLatLng(new google.maps.Point(pos.x-left, pos.y-top)); that.set('origin',e); that.set('position',latLngDRAG); that.draw(); }); } ); google.maps.event.addDomListener(container,'mouseup',function(){ that.map.set('draggable',true); this.style.cursor='default'; google.maps.event.removeListener(that.moveHandler); }); this.set('container',container) this.getPanes().floatPane.appendChild(container); };//function initialize(position)の終わり DraggableOverlay.prototype.draw = function() { var pos = this.getProjection().fromLatLngToDivPixel(this.get('position')); this.get('container').style.left =pos.x + 'px';//200 + 'px' this.get('container').style.top = pos.y + 'px'; }; /* DraggableOverlay.prototype.onRemove = function() { this.get('container').parentNode.removeChild(this.get('container')); this.set('container',null) }; */ //これなくてもドラッグできてる。 //google.maps.event.addDomListener(window, 'load', initialize); //ドラッグのためのカスタムオーバーレイの記述の終わり }// function codeAddress(address) { の終わり function pullDownMenuRedraw(){ // oldmap.setMap(null);//function codeAddress でつくったoldmapを消すことができる。 //そもそも monaca以前の記述だとここのoldmapを消すところが通らず、ここで処理が止まって、これ以下がすべて無効になっている。 if(oldmap!=null){ oldmap.setMap(null);//現在のオーバーレイ画像oldmapをまず消す。 } if(mySelect_pulldownMenu==0){ var overLayImageSize_meter = 227;//空母 雲竜 の全長227m currentSelectedPulldownMenu=0; } if(mySelect_pulldownMenu==1){ var overLayImageSize_meter = 269;//タイタニック の全長269m currentSelectedPulldownMenu=1; } if(mySelect_pulldownMenu==2){ var overLayImageSize_meter = 800;//富士山 の山頂火口直径780m 画像は800mの正方形に相当 currentSelectedPulldownMenu=2; } if(mySelect_pulldownMenu==3){ var overLayImageSize_meter = 230.37;//ギザの大ピラミッド クフ王のピラミッド 一辺230.37m currentSelectedPulldownMenu=3; } if(mySelect_pulldownMenu==4){ var overLayImageSize_meter = 1100;//東京都調布市の巨大団地「多摩川住宅」(1.1Km四方で表示) currentSelectedPulldownMenu=4; } if(mySelect_pulldownMenu==5){ var overLayImageSize_meter = 110.6;//サターンVロケット 110.6m currentSelectedPulldownMenu=5; } if(mySelect_pulldownMenu==6){ var overLayImageSize_meter = 550;//イエス・キリストが十字架を背負って歩いた道(550m四方で表示) currentSelectedPulldownMenu=6; } if(mySelect_pulldownMenu==7){ var overLayImageSize_meter = 220;//コロシアム 220m四方で表示 コロシアム自体の大きさは長径188m短径156m currentSelectedPulldownMenu=7; } if(mySelect_pulldownMenu==8){ var overLayImageSize_meter = 3000;//ナイアガラ 3000m四方で表示 currentSelectedPulldownMenu=8; } if(mySelect_pulldownMenu==9){ var overLayImageSize_meter = 3000;//エアーズロック 3000m四方で表示 currentSelectedPulldownMenu=9; } if(mySelect_pulldownMenu==10){ var overLayImageSize_meter = 263;//大和 263m currentSelectedPulldownMenu=10; } if(mySelect_pulldownMenu==11){ var overLayImageSize_meter = 4200;//セントラルパーク 4200m四方で表示 currentSelectedPulldownMenu=11; } if(mySelect_pulldownMenu==12){ var overLayImageSize_meter = 6200;//ベニス 6200m四方で表示 currentSelectedPulldownMenu=12; } if(mySelect_pulldownMenu==13){ var overLayImageSize_meter = 634;//東京スカイツリー 634m currentSelectedPulldownMenu=13; } if(mySelect_pulldownMenu==14){ var overLayImageSize_meter = 324;//エッフェル塔 324m currentSelectedPulldownMenu=14; } if(mySelect_pulldownMenu==15){ var overLayImageSize_meter = 16000;//山手線 16000m四方で表示 currentSelectedPulldownMenu=15; } if(mySelect_pulldownMenu==16){ var overLayImageSize_meter = 700;//東京ドーム 700m四方で表示 currentSelectedPulldownMenu=16; } if(mySelect_pulldownMenu==17){ var overLayImageSize_meter = 30;//シロナガスクジラ 30mで表示 currentSelectedPulldownMenu=17; } if(mySelect_pulldownMenu==18){ var overLayImageSize_meter = 19000;//セントヘレナ島 19km四方で表示 currentSelectedPulldownMenu=18; } if(mySelect_pulldownMenu==19){ var overLayImageSize_meter = 100;//ナスカの地上絵からハチドリ 100m四方で表示 currentSelectedPulldownMenu=19; } if(mySelect_pulldownMenu==20){ var overLayImageSize_meter = 3600;//ベルサイユ宮殿とその庭園 3.6km四方で表示 currentSelectedPulldownMenu=20; } if(mySelect_pulldownMenu==21){ var overLayImageSize_meter = 500;//ペンタゴン 500m四方で表示 currentSelectedPulldownMenu=21; } if(mySelect_pulldownMenu==22){ var overLayImageSize_meter = 350;//モン・サン=ミシェル 350m四方で表示 currentSelectedPulldownMenu=22; } if(mySelect_pulldownMenu==23){ var overLayImageSize_meter = 4800;//沖ノ鳥島 4.8km四方で表示 currentSelectedPulldownMenu=23; } if(mySelect_pulldownMenu==24){ var overLayImageSize_meter = 600;//軍艦島 600m四方で表示 currentSelectedPulldownMenu=24; } if(mySelect_pulldownMenu==25){ var overLayImageSize_meter = 800;//五稜郭 800m四方で表示 currentSelectedPulldownMenu=25; } if(mySelect_pulldownMenu==26){ var overLayImageSize_meter = 1900;//仁徳天皇陵 1.9km四方で表示 currentSelectedPulldownMenu=26; } overLayImageSize_meter_HALF = overLayImageSize_meter / 2 ; //オフセットで使うためにあらかじめ半分に割っておく。 //var lat =results[0].geometry.location.lat(); var lat =lat_GLOBAL; var lat_offset = lat-(oneMeter_lat * overLayImageSize_meter_HALF); var lat2 = lat+(oneMeter_lat * overLayImageSize_meter_HALF); //var lon =results[0].geometry.location.lng(); var lon =lon_GLOBAL; //oneMeter_lon = keido_longitude_1meterDosuu(results[0].geometry.location.lat()); oneMeter_lon = keido_longitude_1meterDosuu(lat_GLOBAL); var lon_offset = lon-(oneMeter_lon * overLayImageSize_meter_HALF); var lon2 = lon+(oneMeter_lon * overLayImageSize_meter_HALF); var imageBounds = new google.maps.LatLngBounds( new google.maps.LatLng(lat_offset,lon_offset), new google.maps.LatLng(lat2,lon2)); /* var oldmap = new google.maps.GroundOverlay( "./unryu.png", imageBounds); oldmap.setMap(map); */ //overlayの透明度は以下のような設定をあらかじめ書いておいて、 //overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); と加えてやるとコントロールできる。 //参考 http://stackoverflow.com/questions/11132537/google-map-v3-png-groundoverlay-opacity //なぜか opacity: overlayOpacity_Global と書くとエラー、、仕方なく条件を細かくわけることに。 if(overlayOpacity_Global>0.9){ var overlayOpts = { opacity:1, clickable: false , } } if(overlayOpacity_Global<=0.9&&overlayOpacity_Global>=0.8){ var overlayOpts = { opacity:0.85, clickable: false , } } if(overlayOpacity_Global<0.8&&overlayOpacity_Global>=0.7){ var overlayOpts = { opacity:0.75, clickable: false , } } if(overlayOpacity_Global<0.7&&overlayOpacity_Global>=0.6){ var overlayOpts = { opacity:0.65, clickable: false , } } if(overlayOpacity_Global<0.6&&overlayOpacity_Global>=0.5){ var overlayOpts = { opacity:0.55, clickable: false , } } if(overlayOpacity_Global<0.5&&overlayOpacity_Global>=0.4){ var overlayOpts = { opacity:0.45, clickable: false , } } if(overlayOpacity_Global<0.4&&overlayOpacity_Global>=0.3){ var overlayOpts = { opacity:0.35, clickable: false , } } if(overlayOpacity_Global<0.3&&overlayOpacity_Global>=0.2){ var overlayOpts = { opacity:0.25, clickable: false , } } if(overlayOpacity_Global<0.2&&overlayOpacity_Global>=0.1){ var overlayOpts = { opacity:0.15, clickable: false , } } if(overlayOpacity_Global<0.1&&overlayOpacity_Global>=0.0){ var overlayOpts = { opacity:0.0, clickable: false , } } //alert(overlayOpacity_Global); //alert("mySelect_pulldownMenu チェック"+mySelect_pulldownMenu); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //mySelect_pulldownMenuという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ if(mySelect_pulldownMenu==0){ overlays.push(new google.maps.GroundOverlay("./images/unryu.png",imageBounds,overlayOpts));//unryu.png } if(mySelect_pulldownMenu==1){ overlays.push(new google.maps.GroundOverlay("./images/titanic_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==2){ overlays.push(new google.maps.GroundOverlay("./images/fujisanKakou_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==3){ overlays.push(new google.maps.GroundOverlay("./images/GreatPyramidofGiza_PyramidofKhufu_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==4){ overlays.push(new google.maps.GroundOverlay("./images/tamagawaJyutaku_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==5){ overlays.push(new google.maps.GroundOverlay("./images/saturn5rocket_02_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==6){ overlays.push(new google.maps.GroundOverlay("./images/ViaDolorosa_02_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==7){ overlays.push(new google.maps.GroundOverlay("./images/Colosseum_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==8){ overlays.push(new google.maps.GroundOverlay("./images/Niagara_falls_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==9){ overlays.push(new google.maps.GroundOverlay("./images/AyersRock_Uluru_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==10){ overlays.push(new google.maps.GroundOverlay("./images/yamato_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==11){ overlays.push(new google.maps.GroundOverlay("./images/centralpark_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==12){ overlays.push(new google.maps.GroundOverlay("./images/Venice_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==13){ overlays.push(new google.maps.GroundOverlay("./images/Tokyo_Skytree_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==14){ overlays.push(new google.maps.GroundOverlay("./images/eiffel_tower_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==15){ overlays.push(new google.maps.GroundOverlay("./images/yamanotesen_01_02.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==16){ overlays.push(new google.maps.GroundOverlay("./images/tokyoDome_01_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==17){ overlays.push(new google.maps.GroundOverlay("./images/bluewhale_shironagasu_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==18){ overlays.push(new google.maps.GroundOverlay("./images/Saint_Helena_Island_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==19){ overlays.push(new google.maps.GroundOverlay("./images/NazcaLinesTheHummingbird_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==20){ overlays.push(new google.maps.GroundOverlay("./images/PalaceAndGardenOfVersailles_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==21){ overlays.push(new google.maps.GroundOverlay("./images/ThePentagon_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==22){ overlays.push(new google.maps.GroundOverlay("./images/Mont_St_Michel_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==23){ overlays.push(new google.maps.GroundOverlay("./images/okinoTorishima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==24){ overlays.push(new google.maps.GroundOverlay("./images/gunkanjima_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==25){ overlays.push(new google.maps.GroundOverlay("./images/goryokaku_01.png",imageBounds,overlayOpts)); } if(mySelect_pulldownMenu==26){ overlays.push(new google.maps.GroundOverlay("./images/nintokuRyou_01.png",imageBounds,overlayOpts)); } /* marker = new google.maps.Marker({ draggable:true,//こうするだけでtrueの場合ドラッグ可能になる。//マーカーの色々なオプションはこのページがおもしろい。https://developers.google.com/maps/documentation/javascript/markers?hl=ja#complex_icons animation: google.maps.Animation.DROP,//こうするだけで生成時マーカーが上から降ってくるようにできる。マーカーがジャンプするアニメなどもできる。 position: latlon_GLOBAL, map: map, title: "MAP_GOBAL" }); */ //overlays_markers.push(new google.maps.Marker({position: event.latLng,map: map})); overlays_markers.push(new google.maps.Marker({position: latlon_GLOBAL,map: map,animation: google.maps.Animation.DROP})); /*一回だけ表示すれば良くて何回も何度もマーカーを表示しなくていい場合は以下のようにシンプルに書ける*/ /* var maker = new google.maps.Marker({ position: event.latLng, map: map }); */ overlays[maker_counter].setMap(map); overlays_markers[maker_counter].setMap(map); //overlaysという変数はクリックの関数の中ではなく、その外、グローバル的なスコープの変数として作られているのがミソ //新しくクリックされた位置にオーバーレイ画像とマーカーを表示し、overlays overlays_markers にスタックしていき、一つ前にスタックしたものはその都度捨てていく。 /* if(overlays.length==2){ overlays[0].setMap(null); } if(overlays.length==3){ overlays[1].setMap(null); } if(overlays.length==4){ overlays[2].setMap(null); } if(overlays.length==5){ overlays[3].setMap(null); } if(overlays.length==6){ overlays[4].setMap(null); } */ //上記の羅列を換言したのが以下 var tmp_a =0; if(overlays.length>=2){ tmp_a=overlays.length-2; overlays[tmp_a].setMap(null); overlays_markers[tmp_a].setMap(null); } maker_counter++; //alert("pullDownMenuRedraw()の終わり"); }//pullDownMenuRedraw()の終わり //現在選択している歴史遺産の解説を表示する function kaisetuHyoujiOnHelpPage() {   var sliderDiv = document.getElementById("kaisetuHyoujiOnHelpPage_DivID"); //英語に関してはen-US en-GB en-AU などいくつものケースがあるので、if文で条件を拾うのが冗長な記述になりそうなので、 //英語に相当する言語コードはここで一括でenとして代入し直している。これ以降はenがlanguageType_GLOBAL_userChoiceに入っているなら英語と判断する。 //注意。 バーチャルデバイスでテストするとif(languageType_GLOBAL_userChoice!="ja-JP"){で囲わなくて // if(languageType_GLOBAL_userChoice=="en-US"||la..以下略で英語関係のタイプの時はenを代入するというのが有効だが、HTConeだとなぜかif文が無視されたようにかならず // languageType_GLOBAL_userChoice="en";の代入をおこなってしまうので日本語でなければという条件であえて周りを囲んだ。この日本語でなければという条件はHTConeでも有効になっている。 if(languageType_GLOBAL_userChoice!="ja-JP"){ if(languageType_GLOBAL_userChoice=="en-US"||languageType_GLOBAL=="en"||languageType_GLOBAL=="US"||languageType_GLOBAL=="en-GB"||languageType_GLOBAL=="en-AU"||languageType_GLOBAL=="en-CA"||languageType_GLOBAL=="en-NZ"||languageType_GLOBAL=="en-IE"||languageType_GLOBAL=="en-ZA"||languageType_GLOBAL=="en-JM"||languageType_GLOBAL=="en-029"||languageType_GLOBAL=="en-BZ"||languageType_GLOBAL=="en-TT"||languageType_GLOBAL=="en-ZW") {languageType_GLOBAL_userChoice="en";} } languageType_GLOBAL_userChoice="ja-JP"; if(languageType_GLOBAL_userChoice=="ja-JP")//ユーザー言語設定が日本語なら { if(currentSelectedPulldownMenu==1000){//currentSelectedPulldownMenuがまだプルダウンが一度も選択されていないので初期値の時も、アプリが初期状態で表示する解説内容をここで決めておく。 kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「雲龍」

' + '

' + '

大日本帝国海軍の雲龍型航空母艦の一番艦。

' + '

1943年9月25日進水 1944年12月19日米潜水艦により撃沈

'+ '

全長227.35m 乗員数1550名ほど 時速62kmで航行できた。

'+ '

大戦末期に造られたこともあり実戦には参加しなかった。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==0){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「雲龍」

' + '

' + '

大日本帝国海軍の雲龍型航空母艦の一番艦。

' + '

1943年9月25日進水 1944年12月19日米潜水艦により撃沈

'+ '

全長227.35m 乗員数1550名ほど 時速62kmで航行できた。

'+ '

大戦末期に造られたこともあり実戦には参加しなかった。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==1){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「タイタニック」

' + '

' + '

1911年5月31日進水。 処女航海中の1912年4月14日深夜、

' + '

北大西洋で氷山に接触、翌15日未明にかけて沈没した。

'+ '

全長269.1m 乗組員899人 旅客1324人 時速42kmで航行できた。

'+ '

沈没による犠牲者数は乗員乗客合わせて1513人(数には諸説あり)

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==2){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「富士山火口」

' + '

' + '火口は大内院(だいないいん)、幽宮(かくりのみや)とも呼ばれる。
' + '火口の最大直径は780m。その深さは約237m。
'+ '火口の縁の南西側に富士山最高点の剣ヶ峰 標高3775mがある。
'+ '最後に噴火したのは1707年の宝永大噴火である。
' + '8合目より上は登山道を除き、富士宮市にある富士山本宮浅間大社
(ふじさんほんぐうせんげんたいしゃ)の私有地となっている。'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==3){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「クフ王のピラミッド」

' + '

' + '

ギザの三大ピラミッドの中でも最大なのがクフ王のピラミッド。

' + '

現在の高さは138.74m。もとの高さは146.59mあったとされる。

'+ '

底の一辺は230.37m。

'+ '

紀元前2560年頃に20年ほどかけて建築されたと考えられている。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==4){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「東京都調布市多摩川住宅団地」

' + '

' + '

1966年8月~1969年3月に建設された巨大団地。

' + '

総戸数1826戸。一世帯平均4人家族だとすると

'+ '

7304人ほどの人口があることになる。

'+ '

小中学校、医療店舗・商店街を敷地内にもつ。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==5){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「サターンⅤロケット」

' + '

' + '

サターンV(サターン5(ご)型ロケット)は1967年~1973年の間

' + '

アメリカのアポロ計画で使用された月飛行用ロケット。

'+ '

全高110.6m。スカイラブ(宇宙ステーション)計画でも使用。

'+ '

アポロ11号として1969年7月16日には史上初めて月面着陸。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==6){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「イエスが十字架を背負って歩いた道」

' + '

' + '

イエス・キリストが十字架を背負って歩いた道のことを、

' + '

ヴィア・ドロローサ(ラテン語で「苦難の道」の意味)という。

'+ '

始発点はエルサレム旧市街北東のイスラム教地区のライオン門。

'+ '

終着点はエルサレム旧市街北西のキリスト教地区の聖墳墓教会。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==7){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「コロシアム」

' + '

' + '

コロシアム、コロッセオ、コロッセウム等の呼び方がある。

' + '

長径188m、短径156mの楕円形。高さは48m。

'+ '

4万人から6万人を収容できたと推測される。

'+ '

西暦70年に建設が始まり80年に完成した。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==8){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「ナイアガラ」

' + '

' + '

五大湖の水流が大西洋に流れ込む過程にある瀑布。

' + '

ナイアガラは隣接した以下の三つの滝の総称である。

'+ '

カナダ滝(落差53m、幅670m、滝壺の深さ56m)

'+ '

アメリカ滝(幅260m)とブライダルベール滝(幅15m)

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==9){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「エアーズロック」

' + '

' + '

日本ではエアーズロックと呼ばれることが多いが日本以外では

' + '

ウルルという先住民アボリジニの付けた呼び名も多く使われる。

'+ '

TVや本などで世界最大の一枚岩と紹介されることが多くそのように

'+ '

記憶している人も少なくないが、実は世界2番目の大きさである。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==10){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「大和」

' + '

' + '

大日本帝国海軍が建造した史上最大の戦艦。

' + '

起工1937年11月、進水1940年8月、1945年4月7日沈没

'+ '

時速50kmほどで航行できた。全長263.0m

'+ '

戦死者2498名。生還者276名もしくは269名。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==11){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「セントラルパーク」

' + '

' + '

ニューヨーク(マンハッタン)の中心にある。

' + '

アメリカで景観を考慮して設計された最初の公園である。

'+ '

年間来園者数2500万人。1873年に開園。公園が造られる以前

'+ '

に元からあった湖や池を巧みに使い自然な風景を実現。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==12){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「ベニス」

' + '

' + '

イタリア語ではヴェネツィアと呼ばれ英語ではベニスと呼ばれる。

' + '

中世にはヴェネツィア共和国の首都として栄えた。

'+ '

別名「アドリア海の女王」「水の都」「アドリア海の真珠」

'+ '

外国からの侵略を避けるため洋上に都市を造ったことが起源。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==13){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「東京スカイツリー」

' + '

' + '

2008年着工2012年5月に電波塔・観光施設として開業。

' + '

高さ634m。現存する電波塔としては世界第1位。

'+ '

人工建造物ではブルジュ・ハリーファの828メートルに

'+ '

次ぐ世界第2位となる。建設費は約400億円。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==14){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「エッフェル塔」

' + '

' + '

1889年にパリで行われた第4回万国博覧会のために建造された。

' + '

高さ324m。展望タワー、電波塔として使用されてきた。

'+ '

世界でもっとも多くの人が訪れた有料建造物であるとされる。

'+ '

完成から現在までに2億人以上の観光客が訪れた。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==15){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「山手線」

' + '

' + '

山手線の原型になった路線は1909年に運行を開始し、

' + '

1925年に現在のように環状運転がされるようになった。

'+ '

ラッシュ時の1編成の最大乗車人数は3000人で、

'+ '

混雑率200%の山手線にはこの人数が乗車している。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==16){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「東京ドーム」

' + '

' + '

建設に3年を掛け1988年(昭和63年)3月18日に開場した。

' + '

建設費約350億円、ドームの広さ約216m、面積は46,755m2。

'+ '

体積・容積を表現する際に「東京ドーム何個分(何杯分)」

'+ '

という表現が使われることでもなじみ深いドーム型野球場。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==17){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「シロナガスクジラ(現代の最大の動物)」

' + '

' + '

現存する最大の動物。恐竜時代の生物を含めても

' + '

既知の動物の中で最大の種。シロナガスクジラとカタカナで

'+ '

表記されることが多いが、漢字だと白長須鯨となる。英語では

'+ '

ブルーホエールと呼ぶ。記録上の最大の長さは34m。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==18){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「セントヘレナ島」

' + '

' + '

南大西洋に浮かぶイギリス領の火山島。アフリカ大陸から

' + '

2800km離れた絶海の孤島。ナポレオン・ボナパルトが栄華の

'+ '

絶頂からの失脚しエルバ島へ流され、百日天下で復活するも

'+ '

ワーテルローの戦いに敗れ生涯幽閉された島として有名。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==19){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「ナスカの地上絵からハチドリ」

' + '

' + '

ペルーのナスカ川とインヘニオ川に囲まれた乾燥した

' + '

盆地状の高原の地上に描かれている。ハチドリの大きさは96m

'+ '

他の図形の大きさはクモ(46m)サル(55m)イグアナ(180m)等。

'+ '

最大の図形は鳥に似た形のもので285mほどである。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==20){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「ベルサイユ宮殿とその庭園」

' + '

' + '

1682年にフランス王ルイ14世が建てたフランスの宮殿宮殿設計は。

' + '

マンサールとル・ブラン。アンドレ・ル・ノートルが庭園を

'+ '

つくった。建設当時は離宮という扱い。バロック建築の代表作、

'+ '

でありフランス絶対王政の象徴的建造物でもある。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==21){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「ペンタゴン(アメリカ国防総省)」

' + '

' + '

ペンタゴンの名で知られる アメリカ国防総省の本庁舎。

' + '

ワシントンD.C.郊外のアーリントンにある。世界最大の

'+ '

オフィスビル。約23,000名の軍人、軍属及び民間の従業員、

'+ '

それに加えて約3,000名の援助要員が働いている。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==22){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「モン・サン=ミシェル」

' + '

' + '

フランス西海岸、サン・マロ湾上に浮かぶ小島とその上に

' + '

そびえる修道院。カトリックの巡礼地のひとつである。

'+ '

潮の満ち引きによって、島と陸の間に海ができたり、地続き

'+ '

になったりする様子は「西洋の驚異」と呼ばれてきた。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==23){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「沖ノ鳥島」

' + '

' + '

日本の領土として最も南に位置しており日本最南端の島。

' + '

サンゴ礁からなる。東京都小笠原村に属する。

'+ '

南北約1.7km、東西約4.5km、周囲約11kmほど。

'+ '

沖ノ鳥島という名前自体の由来は不明とされる。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==24){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「軍艦島」

' + '

' + '

長崎県長崎市にある島で正式な名前は端島(はしま)。

' + '

明治時代から昭和時代にかけては海底炭鉱によって栄えた。

'+ '

1974年に閉山後無人島となった。南北約480m、東西約160m。

'+ '

戦艦「土佐」に似ているとして「軍艦島」と呼ばれた。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==25){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「五稜郭(ごりょうかく)」

' + '

' + '

江戸時代末期に江戸幕府により函館市郊外に建造された城郭。

' + '

1866年の完成からわずか2年後に幕府が崩壊、榎本武揚ら

'+ '

率いる旧幕府軍は五稜郭を占領し、箱館戦争の舞台となる。

'+ '

榎本は投降、新政府軍が勝利し、戊辰戦争も終結した。

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==26){ kaisetu_string = '' + '

表示中の歴史遺産 解説

' + '

「仁徳天皇陵(にんとくてんのうりょう)」

' + '

' + '

大仙陵古墳(だいせんりょうこふん)、大山(だいせん)古墳

' + '

ともいう。クフ王ピラミッドや秦の始皇帝墓陵にならぶ、

'+ '

「世界三大墳墓」ともされ、墳丘の平面規模は

'+ '

秦の始皇帝陵を凌いで世界最大値

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } }//ユーザー言語設定が日本語なら の終わり /////////////////////////// 英語なら ////////////////////////////////// //if(languageType_GLOBAL_userChoice=="en")//ユーザー言語設定が英語なら else//if(languageType_GLOBAL_userChoice=="en")//HTCone以外のデバイスではif文で条件わけができているが、HTConeでは日本語ならそれ以外elseという書き方しか理解できないらしかった。 { if(currentSelectedPulldownMenu==1000){//currentSelectedPulldownMenuがまだプルダウンが一度も選択されていないので初期値の時も、アプリが初期状態で表示する解説内容をここで決めておく。 kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"World War II Japanese Navy aircraft carrier "Unryu" "

' + '

' + '

September May 25, 1943 launched. December 19, 1944 sunk by the US submarin

' + '

Total length 227.35m , Crew number 1550 , speed 62km/hour

'+ '

Because it was built at the end of war,Unryu did not participate in the combat after all.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==0){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"World War II Japanese Navy aircraft carrier "Unryu" "

' + '

' + '

September May 25, 1943 launched. December 19, 1944 sunk by the US submarin

' + '

Total length 227.35m , Crew number 1550 , speed 62km/hour

'+ '

Because it was built at the end of war,Unryu did not participate in the combat after all.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==1){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"RMS Titanic"

' + '

' + '

launched May 31, 1911. 1912 during the maiden voyage on April 14, late at night,

' + '

in North Atlantic Ocean collided with the iceberg, sank over the next 15 days before dawn.

'+ '

full-length 269.1m , crew 899 , passenger 1324 , Speed 42km/hour.

'+ '

Death toll by sinking is 1513 people.(theories on the number)

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==2){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Crater of Fuji mountain"

' + '

' + 'Maximum diameter of the crater is 780m. A depth of about 237m.
' + 'On the southwest side of the crater edge,
'+ 'there is of the highest point of Fuji mountain (3775m).
'+ 'Last eruption was Hoei eruption in 1707
' + 'Fuji mountain is an active volcano.
'+ 'There is always possibility of next large eruption.
'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==3){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Khufu pyramid"

' + '

' + '

Pyramid of Khufu is largest one among The Great Pyramid of Giza

' + '

The current height is 138.74m. Original height is estimated 146.59m.

'+ '

One side of the base is 230.37m

'+ '

It is believed to have been built over a period of about 20 years in BC 2560 BC.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==4){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Chofu, Tokyo "Tama River Housing" "

' + '

' + '

Huge housing complex built during the August1967 to March1973.

' + '

The total number of units 1826 units. If one family has four persons '+ '

in average there can be about 7304 inhabitants.

'+ '

Complex has elementary and junior high school, medical clinics shopping arcade in the site.

'+ '

Developer of this app spent childhood in this town.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==5){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Apollo Saturn V (the largest ever rocket)"

' + '

' + '

Saturn V was used in the Apollo program of

' + '

United States during the 1967 - 1973.

'+ '

Height 110.6m. Saturn (rocket family) was also used

'+ '

in the Skylab project.

'+ '

Apollo 11 (Saturn V type rocket)landed on the moon

'+ '

on July 16, 1969 for the first time in human history

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==6){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Road Christ walked carrying the cross"

' + '

' + '

The road that Jesus Christ walked carrying the cross

' + '

is called Via Dolorosa (the meaning of the "hardship of the way" in Latin).

'+ '

Initial set point is in northeast of Jerusalem Old City (near the Lion Gate in Muslim district).

'+ '

End point is in Church of the Holy Sepulcher located in northwest of Jerusalem Old City(in Christian district).

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==7){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Colosseum in Rome"

' + '

' + '

The Colosseum or Coliseum, also known as the Flavian Amphitheatre

' + '

Construction began in AD 72,and was completed in AD 80.

'+ '

The Colosseum could hold between 50,000 and 80,000 spectators

'+ '

The Colosseum was used to host gladiatorial shows,mock sea battles,etc

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==8){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Niagara Falls"

' + '

' + '

Niagara Falls is the collective name for three waterfalls.

' + '

Canadian Horseshoe Falls, American Falls, Bridal Veil Falls.

'+ '

Located on the Niagara River, which drains Lake Erie into Lake Ontario,

'+ '

the combined falls form the highest flow rate of any waterfall in the world.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==9){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Ayers Rock(Uluru)"

' + '

' + '

Uluru, also known as Ayers Rock.

' + '

Uluru is sacred to the Anangu, the Aboriginal people of the area.

'+ '

Archaeological findings to the east and west indicate that

'+ '

humans settled in the area more than 10,000 years ago.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==10){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"WWII Japanese Navy battleship "Yamato" "

' + '

' + '

the heaviest battleships ever constructed.

' + '

Laid down 4 November 1937,Launched 8 August 1940.

'+ '

Sunk 7 April 1945. Speed 50 km/h. Length 263 m.

'+ '

When sinking,2498 crew was killed,276(or269)survived.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==11){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Central Park in N.Y."

' + '

' + '

urban park in middle-upper Manhattan, within New York City.

' + '

The Park was established in 1857.Visitors is about 37.5 million annually.

'+ '

The park has several lakes and ponds, two ice-skating rinks,

'+ '

the Central Park Zoo, Belvedere Castle and the Strawberry Fields.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==12){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Venice(Venezia)"

' + '

' + '

Venice (Venezia in Italian) is a city in northeastern Italy.

' + '

Population (2014) 264,579

'+ '

The name is derived from the ancient Veneti people

'+ '

who inhabited the region by the 10th century BC.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==13){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Tokyo Skytree"

' + '

' + '

Tokyo Skytree is a broadcasting,and observation tower in Tokyo, Japan.

' + '

Height 634m.The tallest tower in the world,and

'+ '

the second tallest structure in the world after the Burj Khalifa(829.8m).

'+ '

Opening 22 May 2012. Cost 65 billion JPY (806 million USD).

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==14){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Eiffel Tower"

' + '

' + '

Constructed in 1889 as the entrance to the 1889 World’s Fair.

' + '

The Eiffel Tower is the most-visited paid monument in the world.

'+ '

6.91 million people ascended it in 2015.

'+ '

height 324m. Observation tower,Broadcasting tower.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==15){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Yamanote Line"

' + '

' + '

Yamanote Line is a railway loop line in Tokyo, Japan.

' + '

Yamanote Line circles the center area of Tokyo.In other words,

'+ '

The size of Yamanote Line shows the size of "Manhattan" area in Tokyo.

'+ '

Opened 1885,with the loop completed in 1925.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==16){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Tokyo Dome"

' + '

' + '

Tokyo Dome is a stadium located in center area of Tokyo, Japan.

' + '

Capacity 42.000-55,000 audience.Opened March 17, 1988.

'+ '

Among Japanese,the size of Tokyo Dome is oftenly refered as

'+ '

common unit when describing the size of large area.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==17){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Blue whale"

' + '

' + '

Blue whale is the largest extant animal and is the heaviest

' + '

known to have existed. By comparison, one of the largest

'+ '

known dinosaurs of the Mesozoic Era was Argentinosaurus,

'+ '

which is estimated to have weighed up to 90 tonnes,

'+ '

comparable to the average blue whale.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==18){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Saint Helena island"

' + '

' + '

Saint Helena is a volcanic tropical island in the South Atlantic Ocean.

' + '

Napoleon Bonaparte was taken to the island in October 1815.

'+ '

He had his permanent residence at Longwood near the center of island.

'+ '

Napoleon died there on 5 May 1821.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==19){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Nazca Lines The Hummingbird"

' + '

' + '

The Nazca Lines are a series of ancient geoglyphs

' + '

located in the Nazca Desert in southern Peru.

'+ '

The designs are shallow lines made in the ground by removing

'+ '

the reddish pebbles and uncovering the whitish/grayish ground beneath.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==20){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Palace and garden of Versailles"

' + '

' + '

Versailles was the seat of political power in the Kingdom of France from 1682

' + '

,when Louis XIV moved the royal court from Paris,

'+ '

until the royal family was forced to return to the capital in October 1789,

'+ '

within three months after the beginning of the French Revolution.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==21){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"The Pentagon"

' + '

' + '

The Pentagon is the headquarters of the United States Department of Defense

' + '

, located in Arlington County, Virginia. The Pentagon is

'+ '

one of the world´ s largest office buildings. 23,000 military and

'+ '

civilian employees and about 3,000 non-defense support personnel work there.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==22){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Mont Saint-Michel"

' + '

' + '

Le Mont-Saint-Michel is an island commune in Normandy, France.

' + '

The original site was founded by an Irish hermit

'+ '

who gathered a following from the local community. According to legend,

'+ '

the archangel Michael appeared in 708 to Aubert,the bishop of Avranches,

'+ '

and instructed him to build a church on the rocky islet.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==23){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"The Okinotori Islands"

' + '

' + '

The English meaning of the name is "remote bird islands"

' + '

They are the southernmost islands of Japan,

'+ '

and the only Japanese territory in the tropics.

'+ '

It extends 4.5 km east-west and 1.7 km north-south.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==24){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Battleship Island(Hashima Island)"

' + '

' + '

Hashima Island is commonly called Gunkanjima(meaning

' + '

Battleship Island).15 kilometers (9 miles) from Nagasaki.

' + '

It was populated from 1887 to 1974 for mining coal.

' + '

Island looks like a battle ship as seeing from the distance<

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==25){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Gory?kaku"

' + '

' + '

Gory?kaku is a star fort in the Japanese city of Hakodate on

' + '

the island of Hokkaido. Last samurais of Tokugawa shogunate

'+ '

made the last battle against westernized new government.

'+ '

The era of samurai was ended here.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==26){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"the tomb of Emperor Nintoku"

' + '

' + '

Emperor Nintoku was the 16th emperor of Japan.

' + '

He is considered to have reigned from 313 to 399.

'+ '

His tomb located in Osaka is the biggest tomb in Japan.

'+ '

Its mounds is biggest among any tombs in the world.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } }//ユーザー言語設定が英語なら の終わり /////////////////////////// ユーザー言語設定が日本語と英語以外なら ////////////////////////////////// //HTCone以外のデバイスではif文で条件わけができているが、HTConeでは日本語ならそれ以外elseという書き方しか理解できないらしかった。 //HTCone上でもエラーにならないので ユーザー言語設定が日本語と英語以外なら という表現を以下に残したが、果たして実際にその条件が来たときHTConeがその条件が拾えているのか怪しい。 if(languageType_GLOBAL_userChoice!="ja-JP"&&languageType_GLOBAL_userChoice!="en")//ユーザー言語設定が日本語と英語以外なら。 いまのところとりあえず英語を表示している。 { if(currentSelectedPulldownMenu==1000){//currentSelectedPulldownMenuがまだプルダウンが一度も選択されていないので初期値の時も、アプリが初期状態で表示する解説内容をここで決めておく。 kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"World War II Japanese Navy aircraft carrier "Unryu" "

' + '

' + '

September May 25, 1943 launched. December 19, 1944 sunk by the US submarin

' + '

Total length 227.35m , Crew number 1550 , speed 62km/hour

'+ '

Because it was built at the end of war,Unryu did not participate in the combat after all.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==0){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"World War II Japanese Navy aircraft carrier "Unryu" "

' + '

' + '

September May 25, 1943 launched. December 19, 1944 sunk by the US submarin

' + '

Total length 227.35m , Crew number 1550 , speed 62km/hour

'+ '

Because it was built at the end of war,Unryu did not participate in the combat after all.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==1){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"RMS Titanic"

' + '

' + '

launched May 31, 1911. 1912 during the maiden voyage on April 14, late at night,

' + '

in North Atlantic Ocean collided with the iceberg, sank over the next 15 days before dawn.

'+ '

full-length 269.1m , crew 899 , passenger 1324 , Speed 42km/hour.

'+ '

Death toll by sinking is 1513 people.(theories on the number)

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==2){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Crater of Fuji mountain"

' + '

' + 'Maximum diameter of the crater is 780m. A depth of about 237m.
' + 'On the southwest side of the crater edge,
'+ 'there is of the highest point of Fuji mountain (3775m).
'+ 'Last eruption was Hoei eruption in 1707
' + 'Fuji mountain is an active volcano.
'+ 'There is always possibility of next large eruption.
'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==3){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Khufu pyramid"

' + '

' + '

Pyramid of Khufu is largest one among The Great Pyramid of Giza

' + '

The current height is 138.74m. Original height is estimated 146.59m.

'+ '

One side of the base is 230.37m

'+ '

It is believed to have been built over a period of about 20 years in BC 2560 BC.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==4){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Chofu, Tokyo "Tama River Housing" "

' + '

' + '

Huge housing complex built during the August1967 to March1973.

' + '

The total number of units 1826 units. If one family has four persons '+ '

in average there can be about 7304 inhabitants.

'+ '

Complex has elementary and junior high school, medical clinics shopping arcade in the site.

'+ '

Developer of this app spent childhood in this town.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==5){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Apollo Saturn V (the largest ever rocket)"

' + '

' + '

Saturn V was used in the Apollo program of

' + '

United States during the 1967 - 1973.

'+ '

Height 110.6m. Saturn (rocket family) was also used

'+ '

in the Skylab project.

'+ '

Apollo 11 (Saturn V type rocket)landed on the moon

'+ '

on July 16, 1969 for the first time in human history

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==6){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Road Christ walked carrying the cross"

' + '

' + '

The road that Jesus Christ walked carrying the cross

' + '

is called Via Dolorosa (the meaning of the "hardship of the way" in Latin).

'+ '

Initial set point is in northeast of Jerusalem Old City (near the Lion Gate in Muslim district).

'+ '

End point is in Church of the Holy Sepulcher located in northwest of Jerusalem Old City(in Christian district).

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==7){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Colosseum in Rome"

' + '

' + '

The Colosseum or Coliseum, also known as the Flavian Amphitheatre

' + '

Construction began in AD 72,and was completed in AD 80.

'+ '

The Colosseum could hold between 50,000 and 80,000 spectators

'+ '

The Colosseum was used to host gladiatorial shows,mock sea battles,etc

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==8){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Niagara Falls"

' + '

' + '

Niagara Falls is the collective name for three waterfalls.

' + '

Canadian Horseshoe Falls, American Falls, Bridal Veil Falls.

'+ '

Located on the Niagara River, which drains Lake Erie into Lake Ontario,

'+ '

the combined falls form the highest flow rate of any waterfall in the world.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==9){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Ayers Rock(Uluru)"

' + '

' + '

Uluru, also known as Ayers Rock.

' + '

Uluru is sacred to the Anangu, the Aboriginal people of the area.

'+ '

Archaeological findings to the east and west indicate that

'+ '

humans settled in the area more than 10,000 years ago.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==10){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"WWII Japanese Navy battleship "Yamato" "

' + '

' + '

the heaviest battleships ever constructed.

' + '

Laid down 4 November 1937,Launched 8 August 1940.

'+ '

Sunk 7 April 1945. Speed 50 km/h. Length 263 m.

'+ '

When sinking,2498 crew was killed,276(or269)survived.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==11){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Central Park in N.Y."

' + '

' + '

urban park in middle-upper Manhattan, within New York City.

' + '

The Park was established in 1857.Visitors is about 37.5 million annually.

'+ '

The park has several lakes and ponds, two ice-skating rinks,

'+ '

the Central Park Zoo, Belvedere Castle and the Strawberry Fields.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==12){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Venice(Venezia)"

' + '

' + '

Venice (Venezia in Italian) is a city in northeastern Italy.

' + '

Population (2014) 264,579

'+ '

The name is derived from the ancient Veneti people

'+ '

who inhabited the region by the 10th century BC.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==13){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Tokyo Skytree"

' + '

' + '

Tokyo Skytree is a broadcasting,and observation tower in Tokyo, Japan.

' + '

Height 634m.The tallest tower in the world,and

'+ '

the second tallest structure in the world after the Burj Khalifa(829.8m).

'+ '

Opening 22 May 2012. Cost 65 billion JPY (806 million USD).

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==14){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Eiffel Tower"

' + '

' + '

Constructed in 1889 as the entrance to the 1889 World’s Fair.

' + '

The Eiffel Tower is the most-visited paid monument in the world.

'+ '

6.91 million people ascended it in 2015.

'+ '

height 324m. Observation tower,Broadcasting tower.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==15){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Yamanote Line"

' + '

' + '

Yamanote Line is a railway loop line in Tokyo, Japan.

' + '

Yamanote Line circles the center area of Tokyo.In other words,

'+ '

The size of Yamanote Line shows the size of "Manhattan" area in Tokyo.

'+ '

Opened 1885,with the loop completed in 1925.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==16){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Tokyo Dome"

' + '

' + '

Tokyo Dome is a stadium located in center area of Tokyo, Japan.

' + '

Capacity 42.000-55,000 audience.Opened March 17, 1988.

'+ '

Among Japanese,the size of Tokyo Dome is oftenly refered as

'+ '

common unit when describing the size of large area.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==17){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Blue whale"

' + '

' + '

Blue whale is the largest extant animal and is the heaviest

' + '

known to have existed. By comparison, one of the largest

'+ '

known dinosaurs of the Mesozoic Era was Argentinosaurus,

'+ '

which is estimated to have weighed up to 90 tonnes,

'+ '

comparable to the average blue whale.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==18){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Saint Helena island"

' + '

' + '

Saint Helena is a volcanic tropical island in the South Atlantic Ocean.

' + '

Napoleon Bonaparte was taken to the island in October 1815.

'+ '

He had his permanent residence at Longwood near the center of island.

'+ '

Napoleon died there on 5 May 1821.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==19){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Nazca Lines The Hummingbird"

' + '

' + '

The Nazca Lines are a series of ancient geoglyphs

' + '

located in the Nazca Desert in southern Peru.

'+ '

The designs are shallow lines made in the ground by removing

'+ '

the reddish pebbles and uncovering the whitish/grayish ground beneath.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==20){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Palace and garden of Versailles"

' + '

' + '

Versailles was the seat of political power in the Kingdom of France from 1682

' + '

,when Louis XIV moved the royal court from Paris,

'+ '

until the royal family was forced to return to the capital in October 1789,

'+ '

within three months after the beginning of the French Revolution.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==21){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"The Pentagon"

' + '

' + '

The Pentagon is the headquarters of the United States Department of Defense

' + '

, located in Arlington County, Virginia. The Pentagon is

'+ '

one of the world´ s largest office buildings. 23,000 military and

'+ '

civilian employees and about 3,000 non-defense support personnel work there.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==22){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Mont Saint-Michel"

' + '

' + '

Le Mont-Saint-Michel is an island commune in Normandy, France.

' + '

The original site was founded by an Irish hermit

'+ '

who gathered a following from the local community. According to legend,

'+ '

the archangel Michael appeared in 708 to Aubert,the bishop of Avranches,

'+ '

and instructed him to build a church on the rocky islet.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==23){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"The Okinotori Islands"

' + '

' + '

The English meaning of the name is "remote bird islands"

' + '

They are the southernmost islands of Japan,

'+ '

and the only Japanese territory in the tropics.

'+ '

It extends 4.5 km east-west and 1.7 km north-south.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==24){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Battleship Island(Hashima Island)"

' + '

' + '

Hashima Island is commonly called Gunkanjima(meaning

' + '

Battleship Island).15 kilometers (9 miles) from Nagasaki.

' + '

It was populated from 1887 to 1974 for mining coal.

' + '

Island looks like a battle ship as seeing from the distance<

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==25){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"Gory?kaku"

' + '

' + '

Gory?kaku is a star fort in the Japanese city of Hakodate on

' + '

the island of Hokkaido. Last samurais of Tokugawa shogunate

'+ '

made the last battle against westernized new government.

'+ '

The era of samurai was ended here.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } if(currentSelectedPulldownMenu==26){ kaisetu_string = '' + '

---Info of overlaid cultural heritage---

' + '

"the tomb of Emperor Nintoku"

' + '

' + '

Emperor Nintoku was the 16th emperor of Japan.

' + '

He is considered to have reigned from 313 to 399.

'+ '

His tomb located in Osaka is the biggest tomb in Japan.

'+ '

Its mounds is biggest among any tombs in the world.

'+ '
' ; sliderDiv.innerHTML = kaisetu_string; } }//ユーザー言語設定が日本語と英語以外なら の終わり }//現在選択している歴史遺産の解説を表示する//function kaisetuHyoujiOnHelpPage() { の終わり。 var mySelect_pulldownMenu=0; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////// ある意味この myGo という名前を付けた関数が最重要の関数で、プルダウメニューから歴史遺産を切り替えて選んだ時 透明度スライダを動かした時にスライダの値が変わったことを検知されてた時 などにコールされる ///////// //////// //////// もう一つ大事なのは codeAddress という名前を付けた関数で  //////// GPS歴史遺産オーバーレイのwebページの 地図検索入力欄に文字を入れて、地図検索ボタンを押したときには、具体的には codeAddress("調布"); というようなことが実行されている。 //////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function myGo(){ mySelect_pulldownMenu = document.myForm.myMenu.selectedIndex; // alert("プルダウンメニューmySelect:"+mySelect_pulldownMenu); //mySelectには選択したプルダウンの番号が0から始まる数字で入ってくる。 // location.href = document.myForm.myMenu.options[mySelect].value; //kaisetuHyoujiOnHelpPage() 関数は、説明表示を更新するとき、プルダウンメニューの現在値を直にみているのではなく、以下の記述でいったん currentSelectedPulldownMenu に移し替えられた値を観測してどの歴史遺産の説明を表示するかを判断している。 if(mySelect_pulldownMenu==0){currentSelectedPulldownMenu=0;} if(mySelect_pulldownMenu==1){currentSelectedPulldownMenu=1;} if(mySelect_pulldownMenu==2){currentSelectedPulldownMenu=2;} if(mySelect_pulldownMenu==3){currentSelectedPulldownMenu=3;} if(mySelect_pulldownMenu==4){currentSelectedPulldownMenu=4;} if(mySelect_pulldownMenu==5){currentSelectedPulldownMenu=5;} if(mySelect_pulldownMenu==6){currentSelectedPulldownMenu=6;} if(mySelect_pulldownMenu==7){currentSelectedPulldownMenu=7;} if(mySelect_pulldownMenu==8){currentSelectedPulldownMenu=8;} if(mySelect_pulldownMenu==9){currentSelectedPulldownMenu=9;} if(mySelect_pulldownMenu==10){currentSelectedPulldownMenu=10;} if(mySelect_pulldownMenu==11){currentSelectedPulldownMenu=11;} if(mySelect_pulldownMenu==12){currentSelectedPulldownMenu=12;} if(mySelect_pulldownMenu==13){currentSelectedPulldownMenu=13;} if(mySelect_pulldownMenu==14){currentSelectedPulldownMenu=14;} if(mySelect_pulldownMenu==15){currentSelectedPulldownMenu=15;} if(mySelect_pulldownMenu==16){currentSelectedPulldownMenu=16;} if(mySelect_pulldownMenu==17){currentSelectedPulldownMenu=17;} if(mySelect_pulldownMenu==18){currentSelectedPulldownMenu=18;} if(mySelect_pulldownMenu==19){currentSelectedPulldownMenu=19;} if(mySelect_pulldownMenu==20){currentSelectedPulldownMenu=20;} if(mySelect_pulldownMenu==21){currentSelectedPulldownMenu=21;} if(mySelect_pulldownMenu==22){currentSelectedPulldownMenu=22;} if(mySelect_pulldownMenu==23){currentSelectedPulldownMenu=23;} if(mySelect_pulldownMenu==24){currentSelectedPulldownMenu=24;} if(mySelect_pulldownMenu==25){currentSelectedPulldownMenu=25;} if(mySelect_pulldownMenu==26){currentSelectedPulldownMenu=26;} //kaisetuHyouji_0_OnMapPage(); //kaisetuHyoujiOnHelpPage(); // kaisetuHyoujiOnHelpPage; という書き方は動かず、()をつけてkaisetuHyoujiOnHelpPage(); と書かないいけないらしい。 //現在表示している歴史遺産の解説を表示する kaisetuHyoujiOnHelpPage(); //テスト中 //pullDownMenuRedraw(); } //////////////////////////////////////// //分かりにくいので気を付ける。////////// //////////////////////////////////////// //.php(実体はjava) の方で、GPSのリアルタイムアップデートを行うための「監視」を navigator.geolocation.watchPosition で開始したとき、 //id = navigator.geolocation.watchPosition みたいに書くことで そのidを取得して、 //必要な時にclearして監視を切るための数字としてこのidを使う。 //index.htmlに記述しているが、.phpの方からも見えていて、 //index.htmlはマップ検索モードの記述しかないのでGPSのリアルタイムアップデートを行うための「監視」に関係した この var id はindex.htmlの中ではあまり使わないのだが、 //しかし.phpの冒頭で読まれる関数では id を使わなければならず、しかし varの宣言をしてから関数の宣言、という順序をファイルの文頭ですると構文エラーになるらしく、 //そのためここに書くしかなくなった。 //////////////////////////////////////// var id; var currentSelectedPulldownMenu =1000; // ボタンに指定したid要素を取得 var button = document.getElementById("button"); // ボタンが押された時の処理 button.onclick = function() { //navigator.geolocation.clearWatch(id);//watchPositionで監視をスタートしたときに得たidを指定してアップデートを切るclearできる。 //idには特別な型が入っているわけではなく、intが入ってきているだけだった。 id のサイズでfor文をつくって消せばいいような気がするがなぜか文法エラーで以下のように書いたほうが //javaではまだ動くという奇妙なことになっている。存在しないidを消そうとしても例外エラーにjavaはならないらしい。 //GPSモードから地図検索モードに入るとき複数GPS監視プロセスが走っていると、地図検索モードにはいってもGPSモードにつれもどされるので、検索ボタンをおしたときありうるプロセスを全部切る。 //navigator.geolocation.clearWatch(id); // フォームに入力された住所情報を取得 var address = document.getElementById("address").value; // 取得した住所を引数に指定してcodeAddress()関数を実行 codeAddress(address);//GPS歴史遺産オーバーレイのwebページの 地図検索入力欄に文字を入れて、地図検索ボタンを押したときには、具体的には codeAddress("調布"); というようなことが実行されている。 //document.write("住所情報は"+address);//有効になっている。 //alart(address); //document.write(address); //document.write("住所情報は"); } //document.write("住所情報は"); var maker_counter=0; //var maker_counter_tmp=0; var overlays = []; var overlays_markers = [];