假设我有一个指向带有位置标记的地图的链接,我如何使用 JavaScript 和 Google API 从该地图标记中找到纬度和经度?
诀窍是我不知道地址。有没有办法优雅地找出页面上的地址是什么,而不必在 HTML 上使用正则表达式?
具体来说,我想从给定的标记中提取地址和纬度/经度。
假设我有一个指向带有位置标记的地图的链接,我如何使用 JavaScript 和 Google API 从该地图标记中找到纬度和经度?
诀窍是我不知道地址。有没有办法优雅地找出页面上的地址是什么,而不必在 HTML 上使用正则表达式?
具体来说,我想从给定的标记中提取地址和纬度/经度。
这很容易'。谷歌地图 api 有一个地理定位对象,这与谷歌地图使用的相同。所以你应该使用这样的东西:
var geocodeLocation = 'String of the adress you''re looking for';
var geocoder = new google.maps.ClientGeocoder();
geocoder.getLatLng(geocodeLocation, function(point) {
if (point) {
//Do something with point - //You have point.x and point.y
}
});
您可以直接使用地理编码网络服务并以JSON或XML 格式获取响应,而不是使用 Google Maps API
在给定 URL 的情况下查找地址的问题实际上比我想象的要容易得多。就我而言,我收到的 Google Maps URL 的格式如下:
https://maps.google.com/?q=loc:+ADDRESS+CITY+STATE+COUNTRY
所以,我直接从 URL 中快速获取地址。
我不知道这是否是谷歌地图 URLS 的默认设置。如果没有,那么事情会更加困难。