Android 2.2设备上的Google Maps v3 OK,未在Android 4.2上显示

时间:2013-10-10 13:23:56

标签: android google-maps jquery-mobile google-maps-api-3 cordova

/////////更新////////

好的,经过几天的故障排除后,我设法在两台Android设备上正确显示地图。

原来我需要一起做以下事情:

  • 在我的index.html中为google地图使用不同的src网址,即:https://maps.googleapis.com/maps/api/js?sensor=false
  • 我需要在config.xml中允许访问所有内容: <access origin="*" subdomains="true"/>

现在主要问题是我不想将所有内容列入白名单,但如果我允许* .google.com,* .googleapis.com,* .gstatic.com等常见嫌疑人,我会收到一些奇怪的行为 on仅限Android 4.2.2设备 - 例如,如果我使用https作为src网址,则地图的底部将不会完全显示(缺少最后一行图块),并且标记将不会显示AT ALL。 然而,通过将所有内容列入白名单,一切正常。

我想我会开始关于白名单领域和我遇到的问题的新线程,因为我似乎无法找到任何相关信息。

////////原始问题////////

我正在使用phonegap和jquery mobile构建应用程序。 在其中一个页面上,我只想显示带有标记的地图等。

然而,我现在面临的问题是:

  • 地图在桌面PC上的Chrome上显示确定
  • 地图在运行Android 2.2.2
  • 的真实Android设备(HTC Desire)上显示OK
  • 地图无法在Android 4.2.2上的真实Android设备(Sony Xperia Z1)上显示。

更新:我还在运行4.2.2的HTC One上进行了测试 - 同样的问题,地图没有显示。

HTML

<div data-role="page" id="mappage">
<div data-theme="a" data-role="header">
    <h3>
        Map
    </h3>
</div>

<div data-role="content" id="content">
    <div id="map_canvas" style="height:100%"></div>
</div>

<div data-theme="a" data-role="footer" data-position="fixed">
    <h3>&nbsp;

    </h3>
</div>

JQUERY:

$(document).on('pageinit', '#mappage',function(){ 

BuildMap( 50.725,-3.528,50.726,-3.526 );

function BuildMap( lat_shop, long_shop, lat_phone, long_phone ){

    var minZoomLevel = 16;

    var map = new google.maps.Map(document.getElementById('map_canvas'), {
      zoom: minZoomLevel,
      center: new google.maps.LatLng( lat_shop, long_shop ),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var marker_shop = new google.maps.Marker({
      position: new google.maps.LatLng( lat_shop, long_shop ),
      map: map
    });

    var marker_phone = new google.maps.Marker({
      position: new google.maps.LatLng( lat_phone, long_phone ),
      map: map
    });

}

});

CSS:

#content {
padding: 0;
position : absolute !important; 
top : 40px !important;  
right : 0; 
bottom : 40px !important;  
left : 0 !important;     

}

其他可能有用的位:

我有一个链接到页面的按钮来显示地图。在桌面和2.2.2上它工作正常。在4.2.2上它突出显示按钮但没有更改页面。我猜这是因为代码在'pageinit'中运行,它遇到了问题而且没有再进一步了。

我将'pageinit'更改为'pageshow' - 没有完全相同的问题 - 桌面和android 2 OK,android 4.2.2。没有什么只是一个空白页面(显然这次设法改变了页面)。

0 个答案:

没有答案