基本上,我想在我的地图中间显示一个十字准线,当用户平移时,它会留在中心。
这正是我所说的,除了这个例子实施得很差......当你快速平移时,它非常缓慢和跳跃。
http://www.daftlogic.com/sandbox-google-maps-centre-crosshairs.htm
有没有人对使用v3 maps api实现此方法有任何想法?
答案 0 :(得分:2)
到目前为止,我见过的最流畅的方法是使用KML文件。 This is the original。
我将KML剥离到最低限度:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<ScreenOverlay>
<Icon>
<href>http://code.google.com/apis/kml/documentation/crosshairs.png</href>
</Icon>
<overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<rotationXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
<size x="0" y="0" xunits="pixels" yunits="pixels"/>
</ScreenOverlay>
</Document>
</kml>
在地图代码中,您需要做的就是使用选项preserveViewport=true
设置KML图层。请注意,如果您在本地进行测试,则仍必须将KML文件上载到公共位置。
var crosshairLayer = new google.maps.KmlLayer(
'http://freezoo.alwaysdata.net/justcrosshair2.kml',
{preserveViewport: true});
crosshairLayer.setMap(map);
(它们是两个KML文件中的两个独立图标。)