1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

地球号ダーツの旅🎯(世界のどこかへ飛ぶブクマ)

Last updated at Posted at 2022-05-12

動機

  • 気軽に心だけ旅をしたい
  • ランダムを楽しみたい

3種類 + ストビュー

  1. 地球ダーツ
  2. 日本ダーツ
  3. 関東・東海ダーツ
  4. ストリートビュー表示(相互)

ズームレベルは2z(1目盛:2,000km) から 21z(1目盛:5m)

コード

1. 地球ダーツ
  • 南極率が高すぎたので南緯55~85は出ないよう設定
  • 緯度85~90の極付近は南北とも提供なし
  • PC用にズームアップ分岐を入れたがスマホでは必要なかった
  • 陸地に当たる確率は半分以下※約7割が海

1a. スマホ用@移動のみ(世界)

javascript:(()=>{if(!confirm('Jump?'))return;const base=10**7;const ido=Math.floor((Math.random()*170-85)*base)/base;const keido=Math.floor((Math.random()*360-180)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},6z/data=!3m1!1e3`;window.open(url,'_self')})()

1b. PC用@ズーム選択あり(世界)

javascript:(()=>{const regex=/\,((\d|11|12)?(\.\d{1,10})?)z|\,\d{5,8}m/;const isFarMap=location.href.match(regex)??!1;if(!isFarMap){jump()}else if(!confirm('[OK]: Zoom Up\n[Cancel]: Other Place')){jump()}else{window.open(location.href.replace(regex,'\,15z'),'_self')} function jump(){if(!confirm('Jump?'))return;const base=10**7;const ido=Math.floor((Math.random()*140-55)*base)/base;const keido=Math.floor((Math.random()*360-180)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},5z/data=!3m1!1e3`;window.open(url,'_self')}})()

1a. コード全体/スマホ用(移動のみ)


function worldTravel()
{
  if(!confirm('Jump?')) return;
  const base      = 10**7;// 小数点以下7桁
  const ido  = Math.floor( (Math.random()*140-55) * base ) / base;
  const keido = Math.floor( (Math.random()*360-180) * base ) / base;
  const url = `https://www.google.co.jp/maps/@${ido},${keido},6z/data=!3m1!1e3`;// ズームレベル:6z
  window.open( url, '_self' );
}

1b. コード全体/PC用(ズーム選択あり)


function worldTravelwithZoom()
{
  const regex = /\,((\d|11|12)?(\.\d{1,10})?)z|\,\d{5,8}m/;
  const isFarMap = location.href.match(regex) ?? false;

  if(!isFarMap) {
    jump();
  } else if( !confirm('[OK]: Zoom Up\n[Cancel]: Other Place') ) {
    jump();
  } else {
    window.open( location.href.replace(regex, ',15z') , '_self');// ズームレベル:15z
  }

  function jump() {
    // ここはスマホ用と同一 
  }
}


2. 日本ダーツ
  • 北海道~九州が収まる程度の緯度経度に限定
  • 世界版より一目で分かる土地が多いため縮尺は大きめ設定
  • 陸に当たる可能性低い/隣国も出る

ブクマ用

2a. スマホ用@移動のみ(日本)

javascript:(()=>{if(!confirm('Jump?'))return;const base=10**7;const ido=Math.floor((Math.random()**14+31)*base)/base;const keido=Math.floor((Math.random()*15+130)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},9z/data=!3m1!1e3`;window.open(url,'_self')})()

2b. PC用@ズーム選択あり(日本)

javascript:(()=>{const regex=/\,((\d|11|12)?(\.\d{1,10})?)z|\,\d{5,8}m/;const isFarMap=location.href.match(regex)??!1;if(!isFarMap){jump()}else if(!confirm(%27[OK]: Zoom Up\n[Cancel]: Other Place%27)){jump()}else{window.open(location.href.replace(regex,%27\,17z%27),%27_self%27)} function jump(){if(!confirm(%27Jump?%27))return;const base=10**7;const ido=Math.floor((Math.random()*14+31)*base)/base;const keido=Math.floor((Math.random()*15+130)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},9z/data=!3m1!1e3`;window.open(url,%27_self%27)}})()

主な変更点


const ido  = Math.floor( (Math.random()*14+31) * base ) / base;
const keido  = Math.floor( (Math.random()*15+130) * base ) / base;

// ズーム前を9z、ズーム後を17zに指定

3. 関東・東海ダーツ
  • 前2つが海ばかり出て疲れるため、ほぼ陸地の関東~東海に限定

ブクマ用

3a. スマホ用@移動のみ(関東〜東海)

javascript:(()=>{if(!confirm('Jump?'))return;const base=10**7;const ido=Math.floor((Math.random()**1.5+35)*base)/base;const keido=Math.floor((Math.random()*3.5+136.5)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},13z/data=!3m1!1e3`;window.open(url,'_self')})()

3b. PC用@ズーム選択あり(関東〜東海)

javascript:(()=>{const regex=/\,((\d|11|12)?(\.\d{1,10})?)z|\,\d{5,8}m/;const isFarMap=location.href.match(regex)??!1;if(!isFarMap){jump()}else if(!confirm(%27[OK]: Zoom Up\n[Cancel]: Other Place%27)){jump()}else{window.open(location.href.replace(regex,%27\,17z%27),%27_self%27)} function jump(){if(!confirm(%27Jump?%27))return;const base=10**7;const ido=Math.floor((Math.random()*1.5 + 35)*base)/base;const keido=Math.floor((Math.random()*3.5 + 136.5)*base)/base;const url=`https://www.google.co.jp/maps/@${ido},${keido},11z/data=!3m1!1e3`;window.open(url,%27_self%27)}})()

主な変更点


const ido = Math.floor((Math.random()*1.5+35) * base) / base;
const keido = Math.floor((Math.random()*3.5+136.5) * base) / base;

// スマホ用は13z
// PC用はズーム前を11z、ズーム後を17zに指定 

4. ストリートビュー表示(相互)
  • 1~3で道路や市街地に当たった際に使用
  • 確認ダイアログで「OK」選択:ストリートビュー、「Cancel」選択:近接写真に遷移
  • 撮影座標にマッチせず表示できない場合は、手動でストビュー人形や縮尺を操作、または再ダーツ

ブクマ用

javascript:(()=>{const url=location.href;const regex=/(@|viewpoint=)(\-?\d{0,3}(\.\d{1,8})?\,\-?\d{0,3}(\.\d{1,8})?)/;const m=url.match(regex)??!1;if(!m){alert('not work on this page.');return} let jumpTo;if(confirm('[OK]: Street View\n[Cancel]: closest pic')){jumpTo='https://www.google.com/maps/@?api=1&map_action=pano&viewpoint='+m[2]}else{jumpTo=`https://www.google.co.jp/maps/@${m[2]},19z/data=!3m1!1e3`} if(url!==jumpTo)window.open(jumpTo,'_self')})()

コード全体


  function stview()
  {
    const url = location.href;
    const regex = /(@|viewpoint=)(\-?\d{0,3}(\.\d{1,8})?\,\-?\d{0,3}(\.\d{1,8})?)/;
    const m = url.match(regex) ?? false;
    if(!m) {
      alert('not work on this page.');
      return;
    }
    let jumpTo;
    if(confirm('[OK]: Street View\n[Cancel]: closest pic')) {
      jumpTo = 'https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + m[2];// ストリートビュー
    } else {
      jumpTo = `https://www.google.co.jp/maps/@${m[2]},19z/data=!3m1!1e3`;// 近接写真(19z)
    }
    if(url !== jumpTo) window.open(jumpTo, '_self');
  }


ブックマーク方法

Android版Chromeはブックマークのタップでは動作しないため、自分でつけたブクマ名「だーつ」等をアドレスバーに直接入力し、サジェスト欄に表示された当該ブックマークをタップすれば実行可能です。

  • 「新規タブ」ページでは使用できません
  • ブックマークレットの使用は自己責任でお願い致します
  • 臨場感を求めて、いずれも航空写真のURLにしています。通信量にご注意下さい
  • 地図表示にしたい場合は「data=!3m1!1e3」の部分を削除して下さい
  • 極端な連続使用はご遠慮下さい

良き旅を!:airplane:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?