如何在谷歌地图上调整窗口大小时设置标记位置不变?

时间:2016-12-09 05:04:52

标签: javascript google-maps google-maps-api-3

我最近开始探索google maps api。我偶然发现谷歌地图api的panby功能。我想要做的是,当我的地图最初加载时,标记应该在右边,如附图中所示。 Attached screenshot of initial load

但是,我想为标记添加一个监听器,以便在窗口调整大小时保持在右侧但不知道在监听器函数中写什么。请帮我这个。提前致谢。到目前为止,这是我的代码。

onAfterRendering: function() {
  var myLatlng = new google.maps.LatLng(12.979172,77.715402);
  var mapOptions = {
    center: myLatlng ,
    zoom: 12,
    disableDefaultUI: true,
    zoomControl: true
  };
  var x = this.byId("mapCanvas").getDomRef();
  map = new google.maps.Map(x, mapOptions);

  map.panBy(-300,0); 

  google.maps.event.addDomListener(window, "resize", function() {
    var location= marker.getPosition();
    google.maps.event.trigger(map, "resize");
  });}

1 个答案:

答案 0 :(得分:0)

您可以将地图重新​​定位到已知标记位置,然后向左平移。像(未经测试)的东西:

...
map.panBy(-300,0); 
var markerLocation= marker.getPosition(); //if you don't have it elsewhere

google.maps.event.addDomListener(window, "resize", function() {
  map.setCenter(markerLocation)
  map.panBy(-300,0); 
  google.maps.event.trigger(map, "resize");
});}