AS3: загрузка внешнего XML-файла Google Maps из AS3 без возникновения ошибки безопасности песочницы - PullRequest
0 голосов
/ 29 марта 2012

Можно ли загрузить внешний XML-файл из API Карт Google без получения ошибки изолированной программной среды безопасности?

В настоящее время я использую прокси-сервер, но это не идеально, поскольку все вызовы APIзатем будет исходить от IP-адреса прокси, а не от пользователей.

Вот тестовый скрипт:

Security.loadPolicyFile("https://maps.googleapis.com/crossdomain.xml");
Security.loadPolicyFile("https://maps.google.co.uk/crossdomain.xml");
Security.loadPolicyFile("http://maps.googleapis.com/crossdomain.xml") 
Security.allowDomain("*.googleapis.com"); 
Security.allowDomain("*.google.co.uk"); 

var xmlString:String ='http://maps.google.co.uk/maps/geo?q=Slack Head LA7 7AX, United Kingdom&output=xml';

var myXML:XML;

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest(xmlString));

Я в основном потерял всякую надежду и потратил впустую часы.Кажется странным, что вы не можете загрузить внешние каналы XML / RSS ??

1 Ответ

0 голосов
/ 19 апреля 2012

Невозможно получить доступ к XML-файлам напрямую из Flash, не вызывая ошибку междоменного скриптинга.

Однако Flash позволит вам получать доступ к изображениям, mp3-файлам и т. Д. Напрямую, поэтому вы можете вызывать API статического вида улиц и карт Google для получения изображений, однако получение данных - это другое дело.

Некоторые сайты поддерживают JSONP, что означает, что вы можете использовать JavaScript (с библиотекой jQuery) для извлечения данных JSON / XML и передачи их объекту Flash.

API Карт Google не поддерживает JSONP.

Итак, вам нужно включить библиотеку JavaScript Google Maps API 3 в ваш HTML, а затем вызвать функции JavaScript из вашего Flash (используя ExternalInterface), который получает данные из API Карт, а затем вам нужно передать полученные данные. вернуться к Flash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...