这是谷歌地图网址的示例:
https://www.google.com.kh/maps/place/Photo+Cafe/@11.5209012,104.943248,17z/data=!3m1!4b1!4m5!3m4!1s0x310957360e265763:0x4a3989b09e7ae9c7!8m2!3d11.520896!4d104.945442?hl=en
我搜索了有关谷歌地图正则表达式的内容,并发现了以下信息:http://www.regexpal.com/93657
在上面的链接中,它正常工作,但是我从url获得的延迟不是正确的。
/@11.5209012,104.943248,17z
我认为它来自地图的中心,因为当我移动地图时,URL也发生了变化。但是对于数据参数:
/data=!3m1!4b1!4m5!3m4!1s0x310957360e265763:0x4a3989b09e7ae9c7!8m2!3d11.520896!4d104.945442?hl=zh-CN
11.520896,104.945442
我已经在数据参数中复制了数字,这是我想要的确切位置。
所以我如何通过正则表达式从示例Google地图网址中获取此数字11.520896,104.945442,还是有更好的方法来获取正确的地图位置?
谢谢
最佳答案
编辑:糟糕,必须使用带有js的捕获组... Pattern Demo/Breakdown
var regEx = /![34]d(-?[\d\.]+)/g;
var data = "/data=!3m1!4b1!4m5!3m4!1s0x310957360e265763:0x4a3989b09e7ae9c7!8m2!3d11.520896!4d104.945442?hl=en";
var match = regEx.exec(data);
while(match !== null) {
console.log(match[1]);
match = regEx.exec(data);
}
关于javascript - 如何从Google Map网址获取确切的经度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44192904/