On Mar 30, 1:19 am, stacef <[email protected]> wrote: > The geocoder results seem to > contain a ton of useful information but I can't figure out how to > access it elsewhere in the function; it seems to die at the completion > of the geoocode call. There must be a way to access this data.
Correct! That's because the call to the geocoder is asynchonous: http://econym.org.uk/gmap/async.htm Use a global variable to store the data, or pass it to another function before the callback function finishes executing. This is not really a Maps API topic. -- Marcelo - http://maps.forum.nu -- > > If possible, a code example would be of much more help than links to > the reference section. > > Thanks, > Stace > > On Mar 28, 9:02 am, Marcelo <[email protected]> wrote: > > > > > On Mar 28, 5:32 pm, stacef <[email protected]> wrote: > > > > Those values would work just fine for me if I weren't such a Maps/JS > > > newb so I apologize. If I were writing this in PHP, it would go > > > something like > > > This is not PHP. > > > > But then I'm not sure how to set the zoom in myOptions from that > > > variable or how to echo out the message from the $msg variable. > > > You don't set them in myOptions. > > > You use them to construct a LatLngBounds > > object:http://code.google.com/apis/maps/documentation/v3/reference.html#LatL... > > > and then you use that object with the Map.fitBounds() > > method:http://code.google.com/apis/maps/documentation/v3/reference.html#Map > > > Give it a try, and if you have problems post a link to the updated > > page that is not working. > > > -- > > Marcelo -http://maps.forum.nu > > -- > > > > Thanks for any help and for your patience. > > > > On Mar 26, 3:12 am, Marcelo <[email protected]> wrote: > > > > > On Mar 24, 8:40 pm, stacef <[email protected]> wrote: > > > > > > I'm trying to figure out how to set some variables based on geocode > > > > >accuracyand can't seem to find a solution. > > > > > The invalid address returns an aproximate match on the street, and it > > > > has the fields: > > > > <partial_match>true</partial_match> > > > > <location_type>GEOMETRIC_CENTER</location_type>http://maps.google.com/maps/api/geocode/xml?address=6600%20Valencia%2... > > > > > The valid address has the fields: > > > > <type>street_number</type> > > > > <location_type>ROOFTOP</location_type>http://maps.google.com/maps/api/geocode/xml?address=400%20Valencia%20... > > > > > Aside from that, both results have a suggested viewport. Are those > > > > geometry values not suitable for your > > > > purposes?http://code.google.com/apis/maps/documentation/v3/services.html#Geoco... > > > > > -- > > > > Marcelo -http://maps.forum.nu > > > > -- > > > > > > I'm also new to the > > > > > Google Maps API. > > > > > > For my situation, if theaccuracyis high, I would like to return a > > > > > high zoom level and text to indicate 'here is what you're looking > > > > > for.' And if theaccuracyis low, return a low zoom setting and text > > > > > to indicate 'couldn't find what you wanted but here is something > > > > > close.' > > > > > > I have a test site here:http://www.stacefelder.com/maptest > > > > > > Entering "480 Valencia St, San Francisco" - a valid address - returns > > > > > the map with a marker at that point and my desired zoom. But entering > > > > > "4800 Valencia St, San Francisco" - an invalid address - currently > > > > > returns the map with the same zoom and a marker in the middle of the > > > > > length of Valencia St., making it appear to be the location of that > > > > > address. In this case I would prefer to set the zoom to a lower number > > > > > and somehow indicate that the marker is not at 4800 Valencia (or 480 > > > > > Valencia, for that matter) because it doesn't exist and that the map > > > > > is for the next best match (in this case, just Valencia St). > > > > > > Here is the script I'm currently using: > > > > > <script type="text/javascript"> > > > > > var geocoder; > > > > > var map; > > > > > function initialize() { > > > > > geocoder = new google.maps.Geocoder(); > > > > > geocoder.geocode( { 'address': address}, > > > > > function(results, status) > > > > > { > > > > > if (status == > > > > > google.maps.GeocoderStatus.OK) { > > > > > > > > > > map.setCenter(results[0].geometry.location); > > > > > var marker = new > > > > > google.maps.Marker({ > > > > > map: map, > > > > > position: > > > > > results[0].geometry.location > > > > > }); > > > > > } else { > > > > > alert("Geocode was not > > > > > successful for the following reason: " + > > > > > status); > > > > > } > > > > > }); > > > > > var myOptions = { > > > > > zoom: 16, > > > > > mapTypeId: > > > > > google.maps.MapTypeId.ROADMAP > > > > > } > > > > > map = new > > > > > google.maps.Map(document.getElementById("map_canvas"), > > > > > myOptions); > > > > > } > > > > > </script> > > > > > > All thoughts and suggestions welcomed. > > > > > Thanks very much, > > > > > Stace -- You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" 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-js-api-v3?hl=en.
