On Dec 7, 11:49 am, ca8msm <[email protected]> wrote:
> Hi,
>
> I'm attempting to perform a local search and then show the results in
> multiple markers on the map. Here is my code:

and here are the group's posting guidelines:
http://groups.google.com/group/Google-Maps-API/web/suggested-posting-guidelines
http://groups.google.com/group/Google-Maps-API/web/why-including-a-link-is-critical

--
Marcelo - http://maps.forum.nu
--















>
> <html>
> <head>
> <title>Maps</title>
> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/
> libs/jquery/1.3.2/jquery.min.js"></script>
> <script src="http://maps.google.com/maps?
> file=api&v=2&key=ABQIAAAAXOgIDJVlQPIrTHqlIhXImRSM9HAn8DP4x_AGPTbz1GFHpAOl3BShLj_XoQwnoMVvbpHEp519BY_arA"
> type="text/javascript"></script>
> <script src="http://www.google.com/uds/api?
> file=uds.js&v=1.0&key=ABQIAAAAXOgIDJVlQPIrTHqlIhXImRSM9HAn8DP4x_AGPTbz1GFHpAOl3BShLj_XoQwnoMVvbpHEp519BY_arA"
> type="text/javascript"></script>
> <script src="gmap.js" type="text/javascript"></script>
> <script type="text/javascript">$(window).load(function(){
> usePointFromPostcode('PE19 7JH', placeMarkerAtPoint, '1');
> usePointFromPostcode('E1 7HJ', placeMarkerAtPoint, '2');
> usePointFromPostcode('LS1 5PS', placeMarkerAtPoint, '3');
> usePointFromPostcode('PE19 8JQ', placeMarkerAtPoint, '4');
> usePointFromPostcode('PE19 8JQ', placeMarkerAtPoint, '5');
> usePointFromPostcode('B1 2RA', placeMarkerAtPoint, '6');
> usePointFromPostcode('B15 1AY', placeMarkerAtPoint, '7');
> usePointFromPostcode('SR1 1XS', placeMarkerAtPoint, '8');
> usePointFromPostcode('DL1 4SL', placeMarkerAtPoint, '9');
> usePointFromPostcode('SR1 1XS', placeMarkerAtPoint, '10');
> usePointFromPostcode('SY2 5HG', placeMarkerAtPoint, '11');
> usePointFromPostcode('SY1 1SP', placeMarkerAtPoint, '12');
> usePointFromPostcode('SY1 1QH', placeMarkerAtPoint, '13');
> usePointFromPostcode('SY2 5HG', placeMarkerAtPoint, '14');
> usePointFromPostcode('SY2 5AT', placeMarkerAtPoint, '15');
> usePointFromPostcode('DN15 7RG', placeMarkerAtPoint, '16');
> usePointFromPostcode('DN16 1RA', placeMarkerAtPoint, '17');
> usePointFromPostcode('PO1 2HW', placeMarkerAtPoint, '18');
> usePointFromPostcode('P05 3PS', placeMarkerAtPoint, '19');
> usePointFromPostcode('SR1 1XS', placeMarkerAtPoint, '20');});
>
> </script>
>
>   </head>
>
>   <body>
>     <div id="map" style="width: 500px; height: 300px"></div>
>   </body>
> </html>
>
> and my javascript file:
>
> var map;
> var localSearch = new GlocalSearch();
>
> var icon = new GIcon();
> icon.image = "http://www.google.com/mapfiles/marker.png";;
> icon.shadow = "http://www.google.com/mapfiles/shadow50.png";;
> icon.iconSize = new GSize(20, 34);
> icon.shadowSize = new GSize(37, 34);
> icon.iconAnchor = new GPoint(10, 34);
>
> function usePointFromPostcode(postcode, callbackFunction, message) {
>
>         localSearch.setSearchCompleteCallback(null,
>                 function() {
>
>                         if (localSearch.results[0])
>                         {
>                                 var resultLat = localSearch.results[0].lat;
>                                 var resultLng = localSearch.results[0].lng;
>                                 var point = new GLatLng(resultLat,resultLng);
>                                 callbackFunction(point, message);
>                         }//else{
> //                              alert("Postcode not found!");
> //                      }
>                 });
>
>         localSearch.execute(postcode + ", UK");
>
> }
>
> function placeMarkerAtPoint(point, message)
> {
>         var marker = createMarker(point,message)
>         map.addOverlay(marker);
>
> }
>
> function createMarker(point,html) {
> var marker = new GMarker(point);
> GEvent.addListener(marker, "click", function() {
>   marker.openInfoWindowHtml(html);
>
> });
> return marker;
> }
>
> function setCenterToPoint(point)
> {
>         map.setCenter(point, 17);
>
> }
>
> function showPointLatLng(point)
> {
>         alert("Latitude: " + point.lat() + "\nLongitude: " + point.lng());
>
> }
>
> function mapLoad() {
>         if (GBrowserIsCompatible()) {
>                 map = new GMap2(document.getElementById("map"));
>
>                 map.addControl(new GLargeMapControl());
>                 map.addControl(new GMapTypeControl());
>                 map.setCenter(new GLatLng(54.622978,-2.592773), 6, 
> G_HYBRID_MAP);
>         }
>
> }
>
> function addLoadEvent(func) {
>   var oldonload = window.onload;
>   if (typeof window.onload != 'function') {
>     window.onload = func;
>   } else {
>     window.onload = function() {
>       oldonload();
>       func();
>     }
>   }
>
> }
>
> function addUnLoadEvent(func) {
>         var oldonunload = window.onunload;
>         if (typeof window.onunload != 'function') {
>           window.onunload = func;
>         } else {
>           window.onunload = function() {
>             oldonunload();
>             func();
>           }
>         }
>
> }
>
> addLoadEvent(mapLoad);
> addUnLoadEvent(GUnload);
>
> The searches are working correctly, however, each openInfoWindowHtml
> is showing the same text. I'm sure this is because of the asynchronous
> calls for the search and I'm sure it's also the same pitfall that Mike
> lists in point 3 here:http://econym.org.uk/gmap/basic1.htm
>
> My problem is whilst I understand why this can happen, I'm unsure as
> to how to fix it. I'd hoped that by using the "createMarker" function
> that I wouldn't run into this issue but obviously there is something
> I'm missing.
>
> Can anyone show me what I need to change in my code above to show the
> correct messages?
>
> Thanks,
> Mark

--

You received this message because you are subscribed to the Google Groups 
"Google Maps API" 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?hl=en.


Reply via email to