2017-02-07 18 views
0

私は最近、通常のGoogleマップのURLを自分のページにドラッグすることができるサイトValid HTMLに出くわしました。自動的にそれがiframe経由で埋め込まれます。私はGoogle Maps Embed APIを読んで、これを行う方法がないように思えます。私はこれが正規表現を使用してパラメータを抽出することで達成できるかどうかはわかりません。通常のリンクからGoogleマップの埋め込みURLを取得

// Sample https://www.google.com/maps/@37.23,-121.9035969,14z 

$(button).click(function() { 
    reg-url = $('#inputbox').val(); 
    convert(); 
}); 

function convert() { 
    embedid = //get param from reg-url 
    $('.wrapper').html("<iframe src='https://www.google.com/maps/embed?pb="+embedid+"'>"); 
} 

したがって、基本的なマップURLを埋め込みURLに変換するjquery関数を作成したいと考えています。あなたのサンプルで

答えて

3
function GoogleMapsURLToEmbedURL(GoogleMapsURL) 
{ 
    var coords = /\@([0-9\.\,\-a-zA-Z]*)/.exec(GoogleMapsURL); 
    if(coords!=null) 
    { 
     var coordsArray = coords[1].split(','); 
     return "https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d20000!2d"+coordsArray[1]+"!3d"+coordsArray[0]+"!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2suk!4v1486486434098"; 
    } 
} 

: - 後

https://www.google.com/maps/@37.23,-121.9035969,14z 

'@'、37.23が-121.9035969は秒、14Zはズームで、1座標です。

私はあなたのためにコーディネートしました。あなたがする必要があるのは、ズームを埋め込みのための整数に変換する作業をする場合です(私は常に20000に設定しました。 Webインターフェイスに応じて14番目のズームレベルの周りにいるように見えます。

+0

これは私が必要とするものです。ありがとうございました!私は方法があるはずですので、私は条件付きの100行を書く必要はありません私はちょうどパターンを得ることができません。http://pastebin.com/A4P0mrSj – WebDev

+0

@VianneYuZhèngそれはズームレベルに基づいているように見えます彼らの画面の解像度では、1は画面上の1つのマップタイルに合っています(これはとてもばらばらに見えます) h ttp://gis.stackexchange.com/a/7480 –

関連する問題