谷歌地图api v3折线与最近的街道对齐

时间:2012-03-03 11:24:44

标签: javascript google-maps google-maps-api-3 gps

假设我有一个载入数据库的GPS装置的位置列表。现在我想谷歌地图显示这些位置,这是开箱即用的像这样

new google.maps.LatLng(57.046085209585726, 9.917740747332573),
                        new google.maps.LatLng(57.04606626648456, 9.918211475014687),
                        new google.maps.LatLng(57.04656251706183, 9.917992874979973),
                        new google.maps.LatLng(57.04649009741843, 9.918401995673776),
                        new google.maps.LatLng(57.04628427978605, 9.91844767704606),
                        new google.maps.LatLng(57.04613022040576, 9.91837676614523),
                        new google.maps.LatLng(57.045781994238496, 9.918353715911508),
                        new google.maps.LatLng(57.045685979537666, 9.918150706216693),
                        new google.maps.LatLng(57.0457204291597, 9.917718200013041),
                            new google.maps.LatLng()

问题是。折线是偷工减料的,由于GPS设备不太正确,看起来你会走过建筑物和游泳池到达街道的另一边。 有什么办法可以让我的数据库中的定位数据快速移动到最近的街道吗?

谢谢大家 纳斯

1 个答案:

答案 0 :(得分:2)

不是我知道的。 您可以尝试使用Directions API来请求各点之间的路线,但每个请求限制为8个航点,您可以将更长的点列表分解为子列表并进行多个路线呼叫,但允许的呼叫数量有限制。服务。
这种方法的另一个问题是,如果您的数据或地图数据中存在轻微的不准确性,例如,您似乎位于道路的错误一侧,则可能会产生虚假的U转弯并绕环形交叉路口行驶。

标准的Google地图网络用户界面有一个带有“对齐”选项的线条绘制工具,但此选项未包含在绘图管理器的API版本中。 我确实提交了增强请求http://code.google.com/p/gmaps-api-issues/issues/detail?id=3824&can=4&sort=-stars&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal,但尚未回复。您可以解决问题和/或创建自己的请求,因为您的问题并不完全相同。