My favorites | Sign in
Project Logo
                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2008 Google Inc.
Licensed under the Apache License, Version 2.0:
http://www.apache.org/licenses/LICENSE-2.0
-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:maps="com.google.maps.*" layout="absolute" width="100%" height="100%">
<mx:Panel title="Google Maps API for Flash - DirectionsAdvanced" width="100%" height="100%">
<mx:VBox width="100%" height="150">
<mx:HBox>
<mx:Label text="From: " width="70"/>
<mx:TextInput id="from" text="Boston, MA" width="100%"/>
</mx:HBox>
<mx:HBox>
<mx:Label text="To: " width="70"/>
<mx:TextInput id="to" text="New York, NY" width="100%"/>
</mx:HBox>
<mx:Button id="getDirections" label="Get Directions" click="processDirections(event);"/>
<mx:Button id="getTurnByTurnDirections" label="Get Next Step" click="processTurnByTurn();" enabled="false"/>
<mx:Text id="step" htmlText="" width="100%"/>
</mx:VBox>
<maps:Map
id="map"
key="ABQIAAAA7QUChpcnvnmXxsjC7s1fCxQGj0PqsCtxKvarsoS-iqLdqZSKfxTd7Xf-2rEc_PC9o8IsJde80Wnj4g"
mapevent_mapready="onMapReady(event)"
width="100%" height="100%"/>
<mx:Text id="directionsCopyright" width="100%"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.events.Event;
import com.google.maps.*;
import com.google.maps.overlays.*;
import com.google.maps.services.*;

private var dir:Directions;
private var turnCounter:uint = 0;

private function onMapReady(event:MapEvent):void {
map.setCenter(new LatLng(41.651505,-72.094455), 8, MapType.NORMAL_MAP_TYPE);
dir = new Directions();
dir.addEventListener(DirectionsEvent.DIRECTIONS_SUCCESS, onDirLoad);
dir.addEventListener(DirectionsEvent.DIRECTIONS_FAILURE, onDirFail);
}

private function processDirections(event:Event):void {
dir.load("from: " + from.text + " to: " + to.text);
getTurnByTurnDirections.enabled = true;

// Reset turnCounter to zero for new directions
turnCounter = 0;
step.htmlText = "Start at " + from.text;
}

private function onDirFail(event:DirectionsEvent):void {
Alert.show("Status: " + event.directions.status);
step.htmlText = "";
}

private function onDirLoad(event:DirectionsEvent):void {
var dir:Directions = event.directions;
var startMarker:Marker;
var endMarker:Marker;

map.clearOverlays();
map.addOverlay(dir.createPolyline());
map.setZoom(map.getBoundsZoomLevel(dir.bounds));
map.setCenter(dir.bounds.getCenter());

startMarker = new Marker(dir.getRoute(0).startGeocode.point, new MarkerOptions({fillStyle: {color:Color.GREEN}}));
endMarker = new Marker(dir.getRoute(0).endGeocode.point, new MarkerOptions({fillStyle: {color:Color.BLUE}}));
map.addOverlay(startMarker);
map.addOverlay(endMarker);
}

private function processTurnByTurn():void {

var stepText:String;
var stepMarker:Marker;
turnCounter++;

if (turnCounter <= dir.getRoute(0).numSteps) {
stepText = dir.getRoute(0).getStep(turnCounter-1).descriptionHtml;
stepMarker = new Marker(dir.getRoute(0).getStep(turnCounter-1).latLng, new MarkerOptions({label: turnCounter.toString()}));
map.addOverlay(stepMarker);
step.htmlText = "Step " + turnCounter + ": " + stepText;
} else {
getTurnByTurnDirections.enabled = false;
step.htmlText = "Arrive at " + to.text + " : " + dir.getRoute(0).summaryHtml;
}
}
]]>
</mx:Script>
</mx:Application>
Show details Hide details

Change log

r196 by pamela.fox on Oct 02, 2008   Diff
Adding DirectionsAdvanced.mxml
Go to: 
Project members, sign in to write a code review

Older revisions

r180 by manshreck on Sep 02, 2008   Diff
Adding a DirectionsAdvanced sample to
the open-source docs.

Also changing mime-type for all SWF to
application/x-shockwave-flash
...
All revisions of this file

File info

Size: 3526 bytes, 95 lines
Hosted by Google Code