这是谷歌地图网址的示例:
  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/

10-10 19:28