1

基本的に、ユーザーがパンするときに中央にとどまる十字線をマップの中央に表示したいと思います。

これはまさに私が話していることですが、この例は実装が不十分です...速くパンすると非常に遅くてジャンプします。

http://www.daftlogic.com/sandbox-google-maps-centre-crosshairs.htm

誰かがv3マップAPIでこれを実装する方法について何かアイデアがありますか?

4

1 に答える 1

2

私が見た中で最もスムーズな方法は、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);

JSFiddle スタイル1 スタイル2

(2つのKMLファイルに2つの別々のアイコンがあります。)

于 2012-05-23T14:53:12.273 に答える