Google 地点 api 超市关闭
Google places api closes supermarket
我知道我可以通过 google api 找到最近的超市,如下所示:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.360229, 6.042169&radius=3000&type=supermarket&key=myKey
但现在我得到了很多结果。我怎样才能只得到最近的一个?
您可以将 rankby
选项与 distance
参数一起使用
var request = {
location: gps,
types: ['grocery'],
rankBy: google.maps.places.RankBy.DISTANCE,
key: key
};
参考:https://developers.google.com/places/web-service/search
一旦您有多个位置,请使用 haversine formula
获取两个位置之间的距离。
function distance(p1, p2) {
if (!p1 || !p2)
return 0;
var R = 6371000; // Radius of the Earth in m
var dLat = (p2.lat() - p1.lat()) * Math.PI / 180;
var dLon = (p2.lng() - p1.lng()) * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
这对我有用
https://maps.googleapis.com/maps/api/place/nearbysearch/json?
location=51.360229,6.042169&radius=3000&type=grocery&key=vaquarkhan&rankBy?
google.maps.places.RankBy.DISTANCE
我知道我可以通过 google api 找到最近的超市,如下所示:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=51.360229, 6.042169&radius=3000&type=supermarket&key=myKey
但现在我得到了很多结果。我怎样才能只得到最近的一个?
您可以将 rankby
选项与 distance
参数一起使用
var request = {
location: gps,
types: ['grocery'],
rankBy: google.maps.places.RankBy.DISTANCE,
key: key
};
参考:https://developers.google.com/places/web-service/search
一旦您有多个位置,请使用 haversine formula
获取两个位置之间的距离。
function distance(p1, p2) {
if (!p1 || !p2)
return 0;
var R = 6371000; // Radius of the Earth in m
var dLat = (p2.lat() - p1.lat()) * Math.PI / 180;
var dLon = (p2.lng() - p1.lng()) * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
这对我有用
https://maps.googleapis.com/maps/api/place/nearbysearch/json?
location=51.360229,6.042169&radius=3000&type=grocery&key=vaquarkhan&rankBy?
google.maps.places.RankBy.DISTANCE