Как интегрировать функцию Google Планета Земля в Flex? - PullRequest
0 голосов
/ 18 декабря 2010

Я успешно интегрировал Google Планета Земля с Flex, используя метод ExternalInterface.call("javascriptMethodName"), и записал материал JavaScript в HTML-файл, который встраивает SWF-файл. он успешно запустился и загрузил Google Earth.

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script src="http://earth-api-samples.googlecode.com/svn/trunk/lib/kmldomwalk.js" type="text/javascript"> </script>
<script type="text/javascript" src="http://www.google.com/jsapi?key=I_Put_my_Key_Here"></script>
<script type="text/javascript">
google.load("earth", "1");
google.load("maps", "2.xx");  

var ge = null;
var geocoder;
var _position = [0,0,0,0];

function init() {
  geocoder = new GClientGeocoder();
  google.earth.createInstance('map3d', initCB, failureCB);
}

это фрагмент этого HTML-файла, но когда я добавляю что-то похожее на HTML-файл:

var directionsService = new google.maps.DirectionsService();

Земля не загружается. Кто-нибудь может подсказать, как преодолеть эту проблему.

Спасибо !!

1 Ответ

1 голос
/ 25 февраля 2011

Вы можете совершать вызовы API-интерфейса карты только после его загрузки, поэтому будет зависеть, где вы выполняете вызов.

Кроме того, DirectionsService является частью API V3, и вы загружаете версию 2.

Кроме того, google.maps.DirectionsService() является асинхронным, поскольку API Google Maps необходимо совершить вызов на внешний сервер.По этой причине вам необходимо передать метод обратного вызова для выполнения после завершения запроса.Этот метод обратного вызова должен обрабатывать результат (ы).Обратите внимание, что служба Directions может возвращать более одного возможного маршрута в виде массива отдельных маршрутов [].

Чтобы использовать указания в V3, создайте объект типа DirectionsService и вызовите DirectionsService.route (), чтобы инициировать запрос.службе Directions, передав ей литерал объекта DirectionsRequest, содержащий входные термины и метод обратного вызова для выполнения при получении ответа.

Дополнительную информацию см. в документации: http://code.google.com/apis/maps/documentation/javascript/services.html#Directions

...