2012-05-23 43 views

回答

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); 

的jsfiddle style 1 style 2

(他们两个KML文件两个不同的图标。)

+0

将这项工作在移动应用中?我正在使用PhoneGap和jQuery Mobile。这方面的经验? – New2This

+0

(也是风格2小提琴坏了,fyi) – New2This

+0

我有3个小时的经验试图让Android世界上的模拟器:)在花费太多时间之前,请确保电话/模拟器可以加载[样本KML(点击这里)](http://maps.google.com/maps?f=q&hl=en&q=http://kmlscribe.googlepages.com/SamplesInMaps.kml&ie=UTF8&ll=36.879621,-53.4375&spn=103.772916,208.476563&z=2&om= 1)就像一个普通的浏览器。请注意,样本和样式2中都很难看到十字准线,因为它只能在海洋上看到。我所做的只是改变图标图像链接。它应该工作,也许只是需要很长时间才能加载。 –

相关问题