我们知道如何使用regexp从原始googlemaps链接获取zoomLevel,纬度和经度。
这个想法是,我只是将原始的googlemaps v3链接放在我的cms中,我的问题是当需要在我的cms页面上使用custommarker呈现该链接时使用该链接。需要对gmap链接进行一些反向解析。

感谢所有输入。

原始的Google链接是这样的:(以某种方式想要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);​


认为这就是谢谢。
是否需要改进?

最佳答案

您可以解析查询字符串的不同变量,如下所示:

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];


此示例用于缩放级别,我假设经度/纬度变量为ll。如果您分别需要纬度和经度,则可以在逗号处split

10-08 00:15