1

panTo 関数をオフセットするにはどうすればよいですか? マーカーがクリックされたときにパンしたいのですが、マーカーを画面の中央に配置しません。

画面の幅と高さの目的の % だけ (x と y の両方) をオフセットしたいと思います。

google.maps.event.addListener(marker, 'click', function() {
   map.panTo(loc);
});

ありがとう

4

1 に答える 1

4

An easier approach than the calculation suggested in the comments could be to:

  1. use panTo to center the map at the given position
  2. use panBy to apply the desired offset

The dimensions of a element may be retrieved via offsetWidth/offsetHeight

Sample:

google.maps.event.addListener(marker, 'click', function() {
  var map = this.getMap(),
      div = map.getDiv();
  map.panTo(this.getPosition());
  map.panBy(div.offsetWidth/4, div.offsetHeight/4);
});
于 2013-08-17T22:48:07.287 に答える