我必须在webview中使用Google地图JavaScript API。问题是拖动地图时,缺失的瓦片不会被加载。在我的桌面PC浏览器上,我无法得到相同的行为,但可以在拖动地图时加载瓦片。在图片中,我持有地图,什么也不会发生,直到我松开手指。
我在gmaps bugtracker中找到了一个问题(与我的问题不完全相关,但有点接近),并尝试了其中提到的所有解决方案:https://code.google.com/p/gmaps-api-issues/issues/detail?id=1448
到目前为止,我尝试了以下方法:
// Setting the maps div container to a fixed size
#map-canvas {
height: 600px;
width: 600px;
}
// Emit resize trigger on mouse move
$(document).ready(function () {
$("#map-canvas").mousemove(function (event) {
setTimeout(function () {
google.maps.event.trigger(map,'resize');
map.setZoom(map.getZoom());
}, 100);
});
});
// loading Google Maps API after document has been loaded
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
'callback=initialize';
document.body.appendChild(script);
}
window.onload = loadScript;
代码正在运行,mousemove事件被触发。我在我的Nexus 10设备上使用android:minSdkVersion="19"。