Hi Pablo- A few suggestions: Call setSize before calling addChild. Add an event listener for MAP_READY, and center the map inside the handler. Make sure you're using the non-Flex version of the SWC.
Do any of those suggestions fix the problem? - pamela On Wed, Nov 5, 2008 at 3:55 AM, pabloapa <[EMAIL PROTECTED]> wrote: > > I happen to get the same message while adding a Map on runtime, to a > Panel custom component. The latter is included in an MXML Application. > > Adding a maps:Map component works fine. > > Any ideas? > > Thanks, > Pablo Apanasionek > > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" > xmlns:controls="controls.*" > borderThicknessTop="0" > borderThicknessLeft="0" > borderThicknessRight="0" > borderThicknessBottom="0" xmlns:maps="maps.*"> > > <mx:UIComponent id="map" width="100%" height="100%" /> > > <mx:Script> > <![CDATA[ > import com.google.maps.Map; > > private var mapImpl:Map; > > public function setMapControl():void > { > mapImpl = new Map(); > mapImpl.key = MY_KEY; > map.addChild(mapImpl); > } > > ]]> > </mx:Script> > > </mx:Panel> > > On Oct 24, 1:31 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > wrote: > > The solution is to create a UIComponent container for the map. This > > works as in the sample below as well as in a popup: > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Application > > xmlns:maps="com.google.maps.*" > > xmlns:mx="http://www.adobe.com/2006/mxml" > > creationComplete="complete()" > > layout="absolute"> > > > > <mx:Script> > > <![CDATA[ > > import com.google.maps.Map; > > import com.google.maps.MapEvent; > > > > private var _map:Map; > > > > private function complete():void > > { > > _map = new Map(); > > _map.key = "MY SITE KEY"; > > _map.setSize(new > Point(mapContainer.width, mapContainer.height)); > > _map.addEventListener(MapEvent.MAP_READY, > mapReady); > > mapContainer.addChild(_map); > > } > > > > private function mapReady(event:MapEvent):void > > { > > trace('mapReady'); > > } > > ]]> > > </mx:Script> > > > > <mx:Canvas width="100%" height="100%"> > > <mx:UIComponent id="mapContainer" width="100%" > height="100%"/> > > </mx:Canvas> > > > > </mx:Application> > > > > On Oct 23, 8:35 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > wrote: > > > > > I am trying to integrate google maps into a large java/FDS app I am > > > working on. To make a prototype, I have constructed the following > > > example: > > > > > APPLICATION MXML: > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > > > layout="absolute"> > > > > > <mx:Script> > > > <![CDATA[ > > > import mx.managers.PopUpManager; > > > > > private function popup():void > > > { > > > PopUpManager.createPopUp(this, MapPopup, > true); > > > } > > > ]]> > > > </mx:Script> > > > > > <mx:Canvas width="100%" height="100%"> > > > <mx:Button label="popup" click="popup()" /> > > > </mx:Canvas> > > > </mx:Application> > > > > > MAPPOPUP MXML > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <mx:Canvas > > > xmlns:maps="com.google.maps.*" > > > xmlns:mx="http://www.adobe.com/2006/mxml" > > > width="400" > > > height="300"> > > > > > <maps:Map width="100%" height="100%" key="MY SITE KEY"/> > > > > > </mx:Canvas> > > > > > If you run this app and click the popup button, you will get the > > > following stack trace: > > > > > TypeError: Error #1009: Cannot access a property or method of a null > > > object reference. > > > at com.google.maps::Map/drawBackground() > > > at com.google.maps::Map/onAdded() > > > at flash.display::DisplayObjectContainer/addChildAt() > > > at mx.core::UIComponent/ > http://www.adobe.com/2006/flex/mx/internal:: > > > $addChildAt()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core > > > \UIComponent.as:5061] > > > at > mx.core::Container/addChildAt()[E:\dev\3.1.0\frameworks\projects > > > \framework\src\mx\core\Container.as:2208] > > > at > mx.core::Container/addChild()[E:\dev\3.1.0\frameworks\projects > > > \framework\src\mx\core\Container.as:2140] > > > at mx.core::Container/createComponentFromDescriptor()[E:\dev > > > \3.1.0\frameworks\projects\framework\src\mx\core\Container.as:3674] > > > at mx.core::Container/createComponentsFromDescriptors()[E:\dev > > > \3.1.0\frameworks\projects\framework\src\mx\core\Container.as:3486] > > > at mx.core::Container/createChildren()[E:\dev\3.1.0\frameworks > > > \projects\framework\src\mx\core\Container.as:2582] > > > at > mx.core::UIComponent/initialize()[E:\dev\3.1.0\frameworks\projects > > > \framework\src\mx\core\UIComponent.as:5341] > > > at > mx.core::Container/initialize()[E:\dev\3.1.0\frameworks\projects > > > \framework\src\mx\core\Container.as:2519] > > > at > MapPopup/initialize()[/Users/mreynolds/Documents/gatewayworkspace/ > > > GoogleMapsTest/src/MapPopup.mxml:0] > > > at mx.managers::SystemManager/ > http://www.adobe.com/2006/flex/mx/ > > > internal::childAdded()[E:\dev\3.1.0\frameworks\projects\framework\src > > > \mx\managers\SystemManager.as:1639] > > > at mx.managers::SystemManager/ > http://www.adobe.com/2006/flex/mx/ > > > internal::rawChildren_addChildAt()[E:\dev\3.1.0\frameworks\projects > > > \framework\src\mx\managers\SystemManager.as:1689] > > > at > mx.managers::SystemManager/addChild()[E:\dev\3.1.0\frameworks > > > \projects\framework\src\mx\managers\SystemManager.as:1225] > > > at > mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\3.1.0\frameworks > > > \projects\framework\src\mx\managers\PopUpManagerImpl.as:263] > > > at > mx.managers::PopUpManagerImpl/createPopUp()[E:\dev\3.1.0\frameworks > > > \projects\framework\src\mx\managers\PopUpManagerImpl.as:178] > > > at > mx.managers::PopUpManager$/createPopUp()[E:\dev\3.1.0\frameworks > > > \projects\framework\src\mx\managers\PopUpManager.as:124] > > > at > GoogleMapsTest/popup()[/Users/mreynolds/Documents/gatewayworkspace/ > > > GoogleMapsTest/src/GoogleMapsTest.mxml:87] > > > at > GoogleMapsTest/___GoogleMapsTest_Button1_click()[/Users/mreynolds/ > > > Documents/gatewayworkspace/GoogleMapsTest/src/GoogleMapsTest.mxml:100] > > > > > I have seen one other post on this forum that included this error and > > > no resolution was posted. In my real app, I am simply trying to add a > > > map to a tab of a tab navigator of the main application view and I get > > > this same error. I am not trying to call any functions or methods on > > > the map, the map has no ID, no listeners, nothing. Still, I can't get > > > a map to even initialize, let alone do anything with it after that > > > point. If I move the map mxml tag into the main application, instead > > > of in this popup in the example, it works fine. > > > > > Can anyone help me? This issue seems quite easy to reproduce and I > > > feel it has been overlooked. I would like to use google maps in my > > > flex app!! > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
