首页 > 解决方案 > 如何以编程方式将 Google 地图属性设置为“贪婪”,而无需在 javascript 中重新加载/重建地图?

问题描述

我在 javascript 中有以下代码,这是我的默认代码,我有一个按钮供用户更轻松地移动地图(无需同时使用手指/或 CTRL)我知道有一个名为的属性,gestureHandling: "greedy"但我不知道如何使用 javascript 以编程方式设置它而不预设属性或重建/重建地图,我该怎么做?

map = new google.maps.Map(document.getElementById('map'), {
          zoom: 15,
          center: myLatLng,
          disableDefaultUI: true,
          mapTypeControl: false
});

标签: javascriptgoogle-maps-api-3

解决方案


将您的设置存储在一个对象中,并在您需要在地图对象上使用setOptions()函数时应用它们;

// The Settings Object
let mapSettings = {
    zoom: 15,
    center: myLatLng,
    disableDefaultUI: true,
    mapTypeControl: false
}

// Your initial Map load
window.onload(function(){
    map = new google.maps.Map(document.getElementById('map'), mapSettings);
});

// Used when you want to apply different gesture handling
function greedyMap(){
    mapSettings.gestureHandling = 'greedy';
    map.setOptions(mapSettings);
}
<button onclick="greedyMap()">Example</button>


推荐阅读