Я сделал несколько маркеров с помощью javascript, но попытка сделать то же самое в actioncript оказывается довольно сложной задачей.
Я использую указания googles, чтобы получить LatLng для добавления маркеров, но он возвращает только один маркер. Либо первый, либо второй.
В моей функции init находятся адресный массив маркеров и вызов для возврата LatLng из направлений. В основном размещая начало и конец так же, чтобы разместить маркер.
markers = ['11030 Hartsook st, North Hollywood, CA','15713 Ventura blvd, Encino, CA'];
for (var i:Number = 0; i < markers.length; ++i) {
from.text=markers[i];
textInput.text=markers[i];
processForm(evt);
}
private function processForm(event:Event):void {
var directions:Directions = new Directions();
directions.addEventListener(DirectionsEvent.DIRECTIONS_SUCCESS, onDirectionsSuccess);
directions.addEventListener(DirectionsEvent.DIRECTIONS_FAILURE, onDirectionsFail);
directions.load("from: " + from.text + " to: " + textInput.text);
}
private function onDirectionsSuccess(event:DirectionsEvent):void{
googleMap.clearOverlays();
directionsSteps.removeAll();
directions = event.directions;
var directionsPolyline:IPolyline = directions.createPolyline();
googleMap.addOverlay(directionsPolyline);
/*************************************
* zoomout after retrieving directions
* ***********************************/
var directionsBounds:LatLngBounds = directionsPolyline.getLatLngBounds();
googleMap.setCenter(directionsBounds.getCenter());
googleMap.setZoom(googleMap.getBoundsZoomLevel(directionsBounds));
/*************************************
* create markers
* ***********************************/
startLatLng = directions.getRoute(0).getStep(0).latLng;
var endLatLng:LatLng = directions.getRoute(directions.numRoutes-1).endLatLng;
googleMap.addOverlay(new Marker(startLatLng));
googleMap.addOverlay(new Marker(endLatLng));
myMarkers.push(new Marker(startLatLng));
mgr.addMarkers(myMarkers, myMarkers.length);
mgr.refresh();
/*************************************
* create steps
* ***********************************/
for (var r:Number = 0 ; r < directions.numRoutes; r++ ) {
var route:Route = directions.getRoute(r);
for (var s:Number = 0 ; s < route.numSteps; s++ ) {
var step:Step = route.getStep(s);
directionsSteps.addItem(step);
}
}
}