Hi Dan, Declare your "marker" variable as a global rather than local.
Paul On Apr 7, 9:33 pm, Dan M <[email protected]> wrote: > I am trying to create some applications where users can add markers to > a map and then store the latitude and longitude of the marker in a > database. I am using the saveData function from the "From Infowindow > to Database" example but I run into a problem with the first two lines > of the saveData function. I get an error stating that "marker" is an > undefined property. I create the marker in the onMapClick function, > how can I access the lat/lng values of the marker in the saveData > function? Should the function creating the marker return a value > instead of void? The saveData function is adding values from the > comboBox and the description field to the Mysql database. I am very > new to Actionscript and would appreciate a newbie type answer. > > Thanks, > > Dan > > Link to app with view source enabled. I had to comment out the > problem code in the saveData function and add code in the saveData > function declaring lat and lng as variables in order to export the > swf. > > http://www.wisswork.com/carbreak2.html > > Code is below: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > xmlns:map="com.google.maps.*" xmlns:flexlib="flexlib.controls.*" > layout="absolute" width="100%" height="100%" viewSourceURL="srcview/ > index.html"> > > <mx:Script> > <![CDATA[ > import mx.controls.Alert; > ]]> > </mx:Script> > > <mx:HBox height="100%" width="100%"> > > <mx:Panel id="reportProblem" > title="Report Car Break-in" > height="100%" > width="100%" > paddingBottom="5" > paddingLeft="5" > paddingRight="5" > paddingTop="5" > fontFamily="Verdana" > horizontalAlign="left" > verticalAlign="top" > fontSize="10"> > <mx:Form id="carBreakIn1"> > <mx:Label text="Location: Click on map or select parking lot > from > dropdown menu" > fontWeight="bold" > paddingTop="10"/> > <mx:Label text="Parking Lot Location" > fontWeight="bold"/> > <mx:ComboBox id="park" editable="false" > enabled="true"> > <mx:ArrayCollection> > <mx:String>Valley Green Road</mx:String> > <mx:String>Wise's Mill Road</mx:String> > <mx:String>Valley Green Inn</mx:String> > </mx:ArrayCollection> > </mx:ComboBox> > > <mx:Form includeInLayout="false" visible="false"> > <mx:FormItem label="Day of week" > > <mx:TextInput id="day" width="100"/> > </mx:FormItem> > <mx:FormItem label="Day of month"> > <mx:TextInput id="date" width="100"/> > </mx:FormItem> > <mx:FormItem label="Month"> > <mx:TextInput id="month" width="100"/> > </mx:FormItem> > <mx:FormItem label="Year"> > <mx:TextInput id="year" width="100"/> > </mx:FormItem> > <mx:FormItem label="Date"> > <mx:TextInput id="wholeDate" width="100"/> > </mx:FormItem> > </mx:Form> > <mx:Text text="Description"/> > <mx:FormItem id="desc" > label="Description:" > paddingTop="20" > fontWeight="bold" > width="100%" > required="true"> > <mx:TextArea id="description" width="100%" > height="200" > restrict="a-z A-Z \-" /> > </mx:FormItem> > > <mx:Text id="contact" > width="100%" > text="Please add your contact info if we have > additional > questions." > fontWeight="bold" > paddingTop="20" > paddingBottom="10"/> > <mx:FormItem id="contactName" label="Name:"> > <mx:TextInput restrict="a-z A-Z \-"/> > </mx:FormItem> > > <mx:FormItem > > <mx:Button id="submitBtn" label="Submit" > enabled="true" click="saveData()"/> > </mx:FormItem> > </mx:Form> > > </mx:Panel> > <mx:Panel title="Wissahickon" width="100%" height="100%" > horizontalAlign="center"> > <map:Map > id="map" > > key="ABQIAAAA7LM75iEnVkcC0EWfpbWivhSVGJuxO4Y265l7a1N7FIWWIgZmihSKvx9HzMW8HDjln2SuFgBQA5jlmQ" > mapevent_mappreinitialize="onMapPreinitialize(event)" > mapevent_mapready="onMapReady(event)" > width="100%" height="100%" /> > </mx:Panel> > </mx:HBox> > <mx:Script> > <![CDATA[ > import com.google.maps.controls.ScaleControl; > import com.google.maps.LatLng; > import com.google.maps.Map; > import com.google.maps.MapOptions; > import com.google.maps.MapEvent; > import com.google.maps.MapType; > import com.google.maps.MapTypeOptions > import com.google.maps.controls.ZoomControl; > import com.google.maps.controls.ZoomControlOptions; > import com.google.maps.controls.MapTypeControl; > import com.google.maps.controls.MapTypeControlOptions; > import com.google.maps.controls.PositionControl; > import com.google.maps.controls.PositionControlOptions; > import com.google.maps.controls.ControlPosition; > import com.google.maps.interfaces.IMapType; > import mx.utils.ObjectUtil; > import com.google.maps.MapMouseEvent; > import com.google.maps.overlays.Marker; > import com.google.maps.overlays.MarkerOptions; > import com.google.maps.InfoWindowOptions; > > private function onMapPreinitialize(event:Event):void { > var opts:MapOptions = new MapOptions(); > opts.center = new LatLng(40.05659, -75.21888); > opts.zoom = 14; > map.setInitOptions(opts); > } > private function onMapReady(event:MapEvent):void { > map.enableScrollWheelZoom(); > map.enableContinuousZoom(); > map.addControl(new ZoomControl()); > map.addControl(new ScaleControl()); > map.addControl(new MapTypeControl()); > map.addControl(new PositionControl()); > map.addEventListener(MapMouseEvent.CLICK, onMapClick); > } > > public function onMapClick(event:MapMouseEvent):void { > // add draggable marker to the map > var marker:Marker = new Marker(event.latLng, > new > MarkerOptions({draggable: true})); > > map.addOverlay(marker); > // prevent the addition of multiple > markers > map.removeEventListener(MapMouseEvent.CLICK, > onMapClick); > marker.getLatLng(); > > } > > public function saveData():void { > > var lat:Number = marker.getLatLng().lat(); > var lng:Number = marker.getLatLng().lng(); > var name:String = description.text; > var type:String = park.text; > > var urlRequest:URLRequest = new > URLRequest("http://www.wisswork.com/phpsqlinfo_addrow.php"); > urlRequest.data = "name=" + name + "&type=" + type + "&lat=" + lat > + "&lng=" + lng; > urlRequest.method = URLRequestMethod.GET; > var urlLoader:URLLoader = new URLLoader(urlRequest); > urlLoader.addEventListener("complete", function(e:Event):void { > if (urlLoader.data.length <= 1) { > Alert.show("Successfully added!"); > > } else { > Alert.show("There was an error adding the data :("); > } > }); > } > > ]]> > </mx:Script> > </mx:Application> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Maps API For Flash" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-maps-api-for-flash?hl=en -~----------~----~----~----~------~----~------~--~---
