Google maps api 3 缩放时标记移动位置

Google maps api 3 缩放时标记移动位置,google-maps-api-3,position,google-maps-markers,Google Maps Api 3,Position,Google Maps Markers,大家好, 我开发了一些javascript代码,可以绘制两点多段线直线。 在zoom_changed事件中,我计算直线中点的位置,并在该位置创建一个标记。 我注意到,当我进一步放大时,这些标记不断偏离直线上的实际中点 这种技术有什么问题请参见下面的代码 问候 功能标签{ 链接中的forvari{ i链接[i]。标签!=null{ 链接[i].label.setMapnull; 删除链接[i]。标签; } iLink[i]。视图==视图和地图。缩放>=链接[i]。最小缩放{ var lat=lin

大家好,

我开发了一些javascript代码,可以绘制两点多段线直线。 在zoom_changed事件中,我计算直线中点的位置,并在该位置创建一个标记。 我注意到,当我进一步放大时,这些标记不断偏离直线上的实际中点

这种技术有什么问题请参见下面的代码

问候

功能标签{ 链接中的forvari{ i链接[i]。标签!=null{ 链接[i].label.setMapnull; 删除链接[i]。标签; } iLink[i]。视图==视图和地图。缩放>=链接[i]。最小缩放{ var lat=links[i]。坐标[0]。lat+links[i]。坐标[1]。lat/2.0; var lng=0.0; var-latLen=Math.maxlinks[i]。coords[0]。lat,links[i]。coords[1]。lat-Math.minlinks[i]。coords[0]。lat,links[i]。coords[1]。lat; var lngLen=Math.maxlinks[i].coords[0].lng,links[i].coords[1].lng-Math.minlinks[i].coords[0].lng,links[i].coords[1].lng; var斜率=拉特伦/格兰; iFlinglen<180.0 lng=links[i].坐标[0].lng+links[i].坐标[1].lng/2.0; 其他的 lng=360.0+links[i].坐标[0].lng+links[i].坐标[1].lng/2.0; links[i].label=new google.maps.Marker{ 地图:地图, 职位:新google.maps.LatLnglat,lng, 偶像:http://chart.apis.google.com/chart?chst=d_text_outline&chld=FFFF66|11 | h | FF6600 | b |+链接[i].正文 }; } } }
Geeko喜欢这个把手

您的代码可能没有问题。。。谷歌地图显示一个图表。。。他们甚至不试图显示严格意义上的地图。当你放大或缩小时,所有的东西都会移动。新界海岸大约100公里的地方失踪了一段时间。这是一张图表。真是太棒了事实上,我知道。。。只是不要期望它是准确的


干杯。基思。

错误就在你写的地方

links[i].coords[0].lng+links[i].coords[1].lng/2.0; 这不会给出直线的中点。要查找直线的中点,请使用几何图形库的函数 您还必须在多段线上设置“测地线”选项,并使用以下选项:

来自谷歌地图API论坛的Ben