Как увеличить масштаб по названию улицы в Google Maps API во Flash? - PullRequest
2 голосов
/ 04 октября 2010

Извините, если я задаю основной вопрос, но я нигде не могу его найти и не слишком разбираюсь в предоставленной документации.По сути, я хочу сделать * .SWF, в котором пользователь вставляет адрес в первый кадр, а затем во второй кадр Google Maps показывает это место.Проблема в том, что я не знаю, как увеличить точку без параметра LatLng.Возможно, геокодирование было бы решением, но, как я сказал ранее, я не понимаю, как это работает во Flash.Может ли кто-нибудь опубликовать несколько строк или указать мне пример геокодирования во Flash?Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2011

В дополнение к ответу Ларса способ установки карты на результат геокода (включая масштабирование до соответствующего уровня, основанного на точности результата), выглядит следующим образом:

_map.setCenter(placemarks[0].point);

var box:Object = placemarks[0].ExtendedData.LatLonBox;
var bounds:LatLngBounds = new LatLngBounds(
    new LatLng(box.south, box.west), 
    new LatLng(box.north, box.east));
var zoom:int = _map.getBoundsZoomLevel(bounds);
_map.setZoom(zoom);

Ссылка на эти поля взята из этого поста:

https://groups.google.com/group/google-maps-api-for-flash/browse_thread/thread/1a6ede093d053903

, который ссылается на этот образец:

http://gmaps -samples-flash.googlecode.ком / SVN / багажник / демки / GeocodingDetails / GeocodingDetails.html

2 голосов
/ 04 октября 2010

Для этого вы бы использовали com.google.maps.services.ClientGeocoder.

Вот некоторые фрагменты кода, а не полный код, но он может дать вам что-то для начала:

import com.google.maps.services.ClientGeocoder;
import com.google.maps.services.GeocodingEvent;

var geocoder:ClientGeocoder = new ClientGeocoder();

geocoder.addEventListener(GeocodingEvent.GEOCODING_SUCCESS, onGeocodeDone);
geocoder.addEventListener(GeocodingEvent.GEOCODING_FAILURE, onGeocodeFault);

geocoder.geocode("The address goes here");

function onGeocodeDone(e:GeocodingEvent):void
{
   trace("lat: " + e.response.placemarks[0].point.lat());
   trace("lng: " + e.response.placemarks[0].point.lng());
}

function onGeocodeFault(e:GeocodingEvent):void
{
   trace("Geocoding failed: " + e.status);
}
...