如何在一个位置的各个方向上取 5 公里点,对 google api 进行地理编码?

Posted

技术标签:

【中文标题】如何在一个位置的各个方向上取 5 公里点,对 google api 进行地理编码?【英文标题】:How to take 5 km points in all directions of a location, geocoding google api? 【发布时间】:2011-12-13 02:53:43 【问题描述】:

好的,我有这些绳子:

55.623151, 8.48215

我想从上面的这个地理位置查看距离北、南、东、西 5 公里的地理代码^。

我该怎么做?

【问题讨论】:

地理代码是什么意思?纬度/经度坐标? @Jiri 是的,这就是我的意思 【参考方案1】:

如果您使用 Google Maps API v3,那么您将执行以下操作:

在您的网页中为Spherical Computations 包含几何库:

<script type="text/javascript" 
    src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"> 
</script>

然后你可以计算:

var point = new google.maps.LatLng(55.623151, 8.48215);
var spherical = google.maps.geometry.spherical; 
var north = spherical.computeOffset(point, 5000, 0); 
var west  = spherical.computeOffset(point, 5000, -90); 
var south = spherical.computeOffset(point, 5000, 180); 
var east  = spherical.computeOffset(point, 5000, 90); 

您可以查看running version on jsfiddle。

【讨论】:

当我尝试 var north = computeOffset(point, 5000, 0);警报('测试:' +北);我根本没有收到警报?甚至没有测试:... @Karem:几何函数需要被限定。我相应地更新了我的答案。 @Karem:我添加了一个running program。当您遇到球形问题时,请使用google.maps.geometry.spherical.computeOffset(point, 5000, 0);

以上是关于如何在一个位置的各个方向上取 5 公里点,对 google api 进行地理编码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在MySQL中以公里搜索附近的位置

迪杰斯特拉算法

聆听位置和方向的变化

【在线等】怎么在百度地图上查找方圆多少公里内的地方

常用算法 - 迪杰斯特拉算法

如何从数据库中获取最近的位置条目?