gpt4 book ai didi

javascript - 使用 StageWebView.loadString() 在 AIR for iOS 上显示 Google map

转载 作者:行者123 更新时间:2023-11-29 03:36:15 27 4
gpt4 key购买 nike

我正在尝试使用 StageWebView 来显示使用 Javascript API 生成的 Google Maps map 。有什么原因导致它无法在 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 保存到磁盘并加载它,接下来)很好,只是不是 loadString。

已在 iOS 6 和 iOS 7 以及 AIR 3.8 和 3.9 上进行测试

编辑:作为后续操作,将 HTML 文件保存到磁盘,然后通过 StageWebView.loadURL() 加载该文件就可以了。但仍然好奇为什么通过 loadString() 加载它不起作用。

最佳答案

我认为这与 iOS javascript 沙箱和 StageWebView API 的工作方式有关。不久前,我尝试对 Twitter 服务执行类似的操作来跳过 pin 身份验证,但 ios 似乎不允许您从应用程序执行 javascript。

您可以尝试使用 native webview 扩展来解决此问题。 stagewebviewbridge有一个应该与 JavaScript 一起使用的 loadString 方法。

您可以使用 native 扩展来进行 map 浏览。如果您的应用是ios独占,您可以查看:air-maps-ane或者您可以使用MapQuest API 。我已经在 android/ios 应用程序中使用过并且运行良好。

关于javascript - 使用 StageWebView.loadString() 在 AIR for iOS 上显示 Google map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com