我正在使用google places radius搜索找出半径内的位置/点,但不知何故它返回的结果是在圆圈之外。
此处演示:http://jsbin.com/bobumora/1/
我通过使用google circle api绘制一个相同半径的圆并通过Haversine公式计算来检查它。距离中心的距离大于圆的半径以及我用于搜索的半径
注意:我认为圆圈不应该扭曲,因为中心相对靠近赤道并且缩放级别为14.
更新1
绘制圆圈的代码是
var populationOptions = {
strokeColor: '#FF0000',
strokeOpacity: 0.1,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.075,
map: map,
center: new google.maps.LatLng(21.269310, 81.603152),
radius: 3050
};
// Add the circle for this city to the map.
cityCircle = new google.maps.Circle(populationOptions);
和雷达搜索的代码是
function performSearch() {
var request = {
location: new google.maps.LatLng(21.269310, 81.603152),
radius: 3050,
types: ["grocery_or_supermarket", "home_goods_store",
"department_store", "clothing_store", "convenience_store"]
};
service.radarSearch(request, callback);
}
我将圆半径和雷达搜索的半径设置为3050。