操纵谷歌地图的Lat / Lng坐标

时间:2013-02-24 23:53:48

标签: c# sql-server asp.net-mvc entity-framework google-maps-api-3

我需要根据地图边界在Google地图上显示标记,并计算标记之间的距离 从SQL服务器到谷歌地图,空间或纬度/经度比较操作lat / lng坐标的最佳选择是什么?
似乎MVC ef5空间比我需要的多,但是lat / lng比较不正确,因为地球不平坦。

修改 例1:

x1,y1--------------x2,y2
  |                  |
  |                  |
  |                  |
x3,y3--------------x4,y4

我需要根据地图可见区域边界存储和查找lat / lng可见谷歌地图区域中的所有地址。

例2:

我需要列出标记X公里半径内的所有地址。

2 个答案:

答案 0 :(得分:2)

计算两对纬度/长度投影坐标之间的距离Vincenty's formulae

答案 1 :(得分:1)

要存储lat和long,如果你正在使用sql server 2008 R2退出一个特殊的geometrys数据类型我想建议阅读这篇文章Spacial DataType

要计算两点之间的距离,这里有两个opctios

实施Levenshtein distance为此专门设计的计算

或者您可以使用包含该方法的google maps api的几何图书馆为您的应用程序的客户端计算。并收到两个lat / lng

google.maps.geometry.spherical.computeDistanceBetween();