基本上,我想在我的地图中间显示一个十字准线,当用户四处移动时它会保持在中心。
这正是我要说的,除了这个例子的实现有点糟糕......当你快速平移时它非常缓慢和跳跃。
http://www.daftlogic.com/sandbox-google-maps-centre-crosshairs.htm
有人对使用 v3 maps api 实现这一点有任何想法吗?
基本上,我想在我的地图中间显示一个十字准线,当用户四处移动时它会保持在中心。
这正是我要说的,除了这个例子的实现有点糟糕......当你快速平移时它非常缓慢和跳跃。
http://www.daftlogic.com/sandbox-google-maps-centre-crosshairs.htm
有人对使用 v3 maps api 实现这一点有任何想法吗?
到目前为止,我见过的最流畅的方法是使用 KML 文件。这是原来的。
我将 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>
在地图代码中,您只需使用选项设置 KML 图层preserveViewport=true
。请注意,如果您在本地进行测试,则仍需要将 KML 文件上传到公共位置。
var crosshairLayer = new google.maps.KmlLayer(
'http://freezoo.alwaysdata.net/justcrosshair2.kml',
{preserveViewport: true});
crosshairLayer.setMap(map);
(它们是两个 KML 文件中的两个独立图标。)