Как интегрировать функцию Google Планета Земля в Flex?

Я успешно интегрировал Google Earth с 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();

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

Спасибо !!


person Keshan    schedule 18.12.2010    source источник


Ответы (1)


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

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

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

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

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

person Fraser    schedule 25.02.2011