我正在尝试在使用 OnsenUI 的 Cordova App 中显示if( " ".equals((contents.charAt(i2)+"") )
。当我将它运行到浏览器中时会显示Google Map,但是当我在实际的手机中运行它时,它会显示空白屏幕而不是显示地图。
我已经经历了很多其他帖子,但这里的问题似乎有所不同。这是代码:
Google Map V3
在上面的代码中,执行进入超时功能并显示:
//Map initialization
$timeout(function(){
alert('Inside Time Out for Google Map');
var latlng = new google.maps.LatLng(35.7042995, 139.7597564);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
alert('Google Map almost loaded');
$scope.map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
$scope.overlay = new google.maps.OverlayView();
$scope.overlay.draw = function() {}; // empty function required
$scope.overlay.setMap($scope.map);
$scope.element = document.getElementById('map_canvas');
},100);
alert('End of MapController');
但遇到这一行时:
alert('Inside Time Out for Google Map');
然后执行不会继续。
我在Cordova config.xml文件中添加了这些访问权限:
var latlng = new google.maps.LatLng(35.7042995, 139.7597564);
任何想法,为什么会这样?
答案 0 :(得分:3)
我发现了这个问题。问题出在 Cordova config.xml
文件:
我创建了一个新的Cordova项目,并将www
文件夹放在我的更改中,并且它有效。
我们需要在config.xml
文件中添加这些配置。仅添加<access...>
在我的情况下不起作用:
<plugin name="cordova-plugin-whitelist" version="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
自从过去18个小时以来我一直在努力,终于找到了办法。我希望它也会帮助别人。