Thanks for that ... Hmm not sure I want to carry on with GWT. I much prefer coding in JavaScript. Oh well I tried a bit, lol
Cheers On 15 juil, 19:37, Eric Ayers <[email protected]> wrote: > I'm guessing that what's happening here is that the MapClickHandler is > getting in the way of closing the info window. Its not intuitive, > but the map click handler fires even when you are clicking on an > overlay on top of the map, like an InfoWindow: > > http://gwt-google-apis.googlecode.com/svn/javadoc/maps/1.0/com/google... > > > > On Wed, Jul 15, 2009 at 8:33 AM, alixeb<[email protected]> wrote: > > > Hiya, > > > I am a Front End Developer. I am trying to learn GWT. > > I think my code is pretty straightforward. > > I am creating a DockPanel and in the center of it I have adding a > > MapPage object that extends Vertical Panel. > > > Each time you click on the Map a marker appear which some text in > > InfoWindow. > > Interaction is pretty much what this example does : > >http://gwt.google.com/samples/HelloMaps-1.0.4/HelloMaps.html#Draggabl... > > > Ok for some reason when closing the InfoWindow using cross icon. > > I get 3 alert errors, which YES/NO button to debug with IE tool: > > Line: 1123 > > Error: 'this.ra' is null or not an object > > Click NO > > Line: 469 > > Error: 'null' is null or not an object > > Click NO > > Line: 469 > > Error: 'null' is null or not an object > > > In Eclipse: > > com.google.gwt.core.client.JavaScriptException: (TypeError): 'null' is > > null or not an object > > number: -2146823281 > > description: 'null' is null or not an object > > at com.google.gwt.maps.client.impl.OverlayImpl.bindConcreteOverlay > > (Native Method) > > at com.google.gwt.maps.client.overlay.Overlay$ConcreteOverlay.<init> > > (Overlay.java:42) > > at com.google.gwt.maps.client.overlay.Marker.<init>(Marker.java:130) > > at com.wikik.client.pages.MapPage$3.onClick(MapPage.java:96) > > at com.google.gwt.maps.client.MapWidget$8.callback(MapWidget.java: > > 481) > > at com.google.gwt.maps.client.impl.EventImpl$OverlayLatLngCallback > > $1.execute(EventImpl.java:193) > > at > > com.google.gwt.maps.client.impl.EventImpl.invokeAndReportUncaughtExceptions > > (EventImpl.java:260) > > at > > com.google.gwt.maps.client.impl.EventImpl.invokeAndMaybeReportUncaughtExceptions > > (EventImpl.java:246) > > at com.google.gwt.maps.client.impl.EventImpl.access$0(EventImpl.java: > > 241) > > at com.google.gwt.maps.client.impl.EventImpl > > $OverlayLatLngCallback.callbackWrapper(EventImpl.java:191) > > > The code of MapPage.java > > > import com.google.gwt.user.client.ui.VerticalPanel; > > > import com.google.gwt.maps.client.InfoWindowContent; > > import com.google.gwt.maps.client.MapWidget; > > import com.google.gwt.maps.client.control.LargeMapControl; > > import com.google.gwt.maps.client.event.MapClickHandler; > > import com.google.gwt.maps.client.geom.LatLng; > > import com.google.gwt.maps.client.overlay.Marker; > > import com.google.gwt.maps.client.overlay.MarkerOptions; > > import com.google.gwt.maps.client.InfoWindow; > > import com.google.gwt.maps.client.event.MarkerDragEndHandler; > > import com.google.gwt.maps.client.event.MarkerDragStartHandler; > > > public class MapPage extends VerticalPanel { > > > private MapWidget map; > > private Marker newMarker; > > private InfoWindow info = null; > > > private void createNewMarker() { > > MarkerOptions options = MarkerOptions.newInstance(); > > options.setDraggable(true); > > LatLng point = LatLng.newInstance(0,0); > > newMarker = new Marker(point, options); > > newMarker.setVisible(false); > > > newMarker.addMarkerDragEndHandler(new MarkerDragEndHandler() { > > public void onDragEnd(MarkerDragEndEvent event) { > > info.open(newMarker, new InfoWindowContent("heouhr oehro > > eh")); > > } > > }); > > > newMarker.addMarkerDragStartHandler(new MarkerDragStartHandler() > > { > > public void onDragStart(MarkerDragStartEvent event) { > > info.setVisible(false); > > } > > }); > > } > > > public MapPage() { > > map = new MapWidget(); > > map.setZoomLevel(2); > > map.setSize("100%", "100%"); > > > // Add some controls for the zoom level > > map.addControl(new LargeMapControl()); > > > // remember InfoWindow > > info = map.getInfoWindow(); > > > // initialise newMarketobject > > this.createNewMarker(); > > > map.addMapClickHandler(new MapClickHandler() { > > public void onClick(MapClickEvent event) { > > if (newMarker != null) { > > newMarker.setVisible(false); > > } > > LatLng point = event.getLatLng(); > > newMarker.setLatLng(point); > > map.addOverlay(newMarker); > > > info.open(newMarker, new > > InfoWindowContent("heouhr oehro eh")); > > } > > }); > > map.setVisible(true); > > add(map); > > } > > } > > > Any idea why I see some errors? > > > Cheers > > -- > Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp://code.google.com/webtoolkit/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" 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-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
