0

正規表現を使用して、生のgooglemapsリンクからzoomLevel、Latitude、Longitudeを取得する方法を知っておく必要があります。アイデアは、生のgooglemaps v3リンクをcmsに配置することです。私の問題は、カスタムマーカーを使用してcmsページに表示する必要があるときにこのリンクを使用することです。gmapリンクの逆解析が必要です。

すべての入力を歓迎します。

生のグーグルリンクはこれです:(どういうわけかzoomLevel、Latitude&Longitudeが欲しい-おそらくregexpで) https://maps.google.com/maps?q=barcelona+spain&hl=en&ll=41.385052,2.184906&spn=0.336927,0.883026 &sll = 57.029521,9.933014&sspn = 0.488772,1.766052&t = h&hnear = Barcelona、+ Province + of + Barcelona、+ Catalonia、+ Spain&z = 11

だから答え:

str= 'the googlemaps link';
zoomRegex= str.match(/&z=([^&]+)/);
zoomlevel = zoomRegex[1];

var ll = new Array();
LatLongRegex= str.match(/&ll=([^&]+)/);
LatLong = LatLongRegex[1];
ll = LatLong.split(',');

console.log("lat:" + ll[0]+ ", long:" + ll[1] +" - Zoomlevel:"+zoomlevel);​

これはありがとうと思います。改善が必要ですか?

4

1 に答える 1

2

次のように、クエリ文字列のさまざまな変数を解析できます。

str = "https://maps.google.com/maps?q=barcelona+spain&hl=en&ll=41.385052,2.184906&spn=0.336927,0.883026&sll=57.029521,9.933014&sspn=0.488772,1.766052&t=h&hnear=Barcelona,+Province+of+Barcelona,+Catalonia,+Spain&z=11";

matches = str.match(/&z=([^&]+)/);
zoomlevel = matches[1];

この例はズームレベル用で、lat/long変数はであると想定していますll。緯度と経度を別々に必要とする場合splitは、コンマで指定できます。

于 2012-09-16T11:53:14.343 に答える