我正在尝试使用 aStageWebView
来显示使用 Javascript API 生成的 Google Maps 地图。它不会在iOS上呈现有什么原因吗?它适用于 Android 和 AIR 模拟器,但不适用于 iOS 设备。我也可以查看在 Safari 中生成的 HTML,这使得它更加奇怪。
示例 HTML(我在应用内动态生成此应用程序,并不重要):
<!DOCTYPE HTML>
<html style="width:100%; height:100%; margin: 0; padding: 0;">
<head>
<title></title>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(e){
var myLatlng = new google.maps.LatLng( 0,0);
var mapOptions = {
zoom: 18,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: true,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.DEFAULT
}
}
var map = new google.maps.Map(document.getElementById("maps") , mapOptions);
geocoder = new google.maps.Geocoder();
geocoder.geocode( { "address": "90 South Kyrene, Chandler, AZ 85226" }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
}
});
});
</script>
</head>
<body style="width:100%; height:100%; margin: 0; padding: 0;">
<div id="maps" style="width:100%; height:100%; margin: 0; padding: 0;"></div>
</body>
</html>
我正在使用StageWebView.loadString( html, "text/html" );
. 知道为什么它不渲染吗?加载 URL 似乎可以工作(所以我会尝试将 HTML 保存到磁盘并加载它,接下来)很好,只是不加载字符串。
在 iOS 6 和 iOS 7 以及 AIR 3.8 和 3.9 上测试
编辑:作为后续,将 HTML 文件保存到磁盘,然后通过加载StageWebView.loadURL()
它就可以了。不过,仍然很好奇为什么通过加载它loadString()
不起作用。