我尝试使用gmapjs设置地图中心。当我调整窗口大小时,我得到:
未捕获的TypeError:undefined不是函数
这里是resize
事件的地图和监听器:
$(function () {
var holder = $('#map-property'),
lat = 46.534820,
lng = 13.024809;
var map = new GMaps({
div: '#'+holder.attr('id'),
lat: lat,
lng: lng,
zoom: 14,
scrollwheel: false,
panControl : false,
streetViewControl: false,
mapTypeControl: false,
draggable: true,
disableDoubleClickZoom: true,
zoomControlOptions:{
style:google.maps.ZoomControlStyle.SMALL
}
})
.addMarker({
lat: 46.534820,
lng: 13.024809,
title: 'Da Matteo',
icon: "/img/gmaps-marker.png"
});
$(window).on('resize', function() {
map.setCenter(lat, lng); // here is the error!
});
});
AFAIK setCenter
功能是:
this.setCenter = function(lat, lng, callback) {
this.map.panTo(new google.maps.LatLng(lat, lng));
if (callback) {
callback();
}
};
答案 0 :(得分:2)
问题是,map = new Gmaps().addMarker()
返回标记对象,而不是地图。因此它没有setCenter
方法。
您可以执行以下操作:
var map = new Gmaps({...})
map.addMarker({...})
然后写下活动。