【发布时间】:2012-01-13 12:23:26
【问题描述】:
我已经通过 javascript 制作了多个标记,但尝试在 actionscript 中做同样的事情被证明是非常具有挑战性的。
我正在使用 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);
}
}
}
【问题讨论】:
-
为什么它只返回第一个标记或最后一个?为什么不两者兼而有之?
标签: apache-flex actionscript google-maps-api-3 google-maps-markers