Я создаю приложение AIR.
У меня есть карта по этому адресу: http://www.cocogeek.nc/mapBateau.php
код этой страницы был на MarineTraffic.com. Вот :
<script type="text/javascript">
width='100%'; // the width of the embedded map in pixels or percentage
height='450'; // the height of the embedded map in pixels or percentage
border='1'; // the width of the border around the map (zero means no border)
shownames='false'; // to display ship names on the map (true or false)
latitude='37.4460'; // the latitude of the center of the map, in decimal degrees
longitude='24.9467'; // the longitude of the center of the map, in decimal degrees
zoom='9'; // the zoom level of the map (values between 2 and 17)
maptype='3'; // use 0 for Normal map, 1 for Satellite, 2 for Hybrid, 3 for Terrain
trackvessel='0'; // MMSI of a vessel (note: vessel will displayed only if within range of the system) - overrides "zoom" option
fleet=''; // the registered email address of a user-defined fleet (user's default fleet is used)
remember='false'; // remember or not the last position of the map (true or false)
language='en'; // the preferred display language
showmenu=true; // show or hide the map options menu
</script>
<script type="text/javascript" src="http://www.marinetraffic.com/js/embed.js"></script>
Сейчас я создаю приложение AIR и хочу, чтобы эта карта была доступна пользователям.
Вот мой код AS3:
import flash.net.URLRequest;
import flash.media.StageWebView;
import flash.geom.Rectangle;
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
stage.scaleMode = StageScaleMode.EXACT_FIT;
var webView:StageWebView;
var swvRect:Rectangle;
var swvHeight:Number;
var swvY:Number=0;
mainPanel.visible=false;
init();
function init():void {
swvHeight=stage.stageHeight-44;
mainPanel.x=stage.stageWidth/2-mainPanel.width/2;
mainPanel.visible=true;
if(webView!=null){
return;
}
webView=new StageWebView();
webView.stage=this.stage;
webView.viewPort=new Rectangle(0,swvY,stage.stageWidth,swvHeight);
webView.loadURL("http://www.cocogeek.nc/mapBateau.php");
}
Страница загружается на отлично.
Проблема: сенсорный жест не работает. Если я проведу пальцем влево (или в любом направлении) на встроенной карте, это не работает.
Знаете ли вы, как я могу заставить сенсорный жест работать на этой встроенной карте?
Спасибо
StageWebView не является UIComponent, на самом деле вообще не является экранным объектом Flash и, следовательно, не отправляет события жестов, и обычный цикл захвата событий / всплывающих пузырьков здесь не применяется, поскольку экземпляр StageWebView не является частью списка отображения.
Это собственный веб-элемент управления из ОС, который отображается «поверх» ваших элементов управления AIR, поэтому любые жесты, поддерживаемые через браузер ОС и отображаемый мобильный HTML-код, будут поддерживаться в области просмотра StageWebView.
Попробуйте загрузить эту карту Google в браузер вашего Android и поддерживает ли она прокрутки?
Других решений пока нет …