谷歌在移动设备上映射 - 显示移动时的初始图块

时间:2014-03-01 23:04:44

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

所以我正在为我的地图构建一个使用Google Maps API v3的应用。我遇到了这个奇怪的错误。在地图上移动手指时,加载时显示的初始切片显示为默认加载图像。这导致非常令人不安的结果。请参阅以下视频:

http://www.youtube.com/watch?v=jvmgXRpr7ng

很混乱......

如果需要,这是代码。最简单的代码:

function GoogleMap(){

    this.initialize = function(){
        var map = showMap();
    }

    var showMap = function(){
        var mapOptions = {
            zoom: 4,
            center: new google.maps.LatLng(-33, 151),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }

        var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

        return map;
    }
}

function onDeviceReady(){
    var map = new GoogleMap();
    map.initialize();
}

我正在使用最新的Cordova(Phonegap)版本,显示的示例记录在运行Android 4.4.2的Google Nexus 5中。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我有同样的问题,没有居中,只在地图画布上显示地图的一部分。

把它放在map.initialize();

之后
google.maps.event.trigger(map, 'resize');

之后再次 setCenter setZoom

map.setCenter(myLatlng);
map.setZoom(10);