[js/googlemaps] Geocode lookup gaat soms mis

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 15-09 11:35
Hoi,

Ik probeer middels geocoding een aantal punten op de wereldkaart van Google Maps te zetten. Het vreemde is dat de lookup soms niet lukt. Om het nog net even iets lastiger te maken werkt het soms wel, soms niet. Als het niet lukt zijn het altijd dezelfde probleemgevallen. Maar na een F5 werkt het soms wel en kan ie ze wel vinden.

Het javascript wordt dynamisch geparsed door een template-engine, vandaar deze vreemde opbouw. Ik besef dat dit later met een array wat mooier te maken is.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
if (GBrowserIsCompatible()) {
   map.addControl(new GSmallMapControl());
   map.centerAndZoom(new GPoint(0.0, 40.0), 16);*/

   var map = new GMap2(document.getElementById("map"));
   map.addControl(new GSmallMapControl());
   map.setCenter(new GLatLng(52.3991608, 4.8402136), 6);
   var geocoder = new GClientGeocoder();

   var pinkIcon = new GIcon(G_DEFAULT_ICON);
   pinkIcon.image = "/elements/markerO.png";
   var greenIcon = new GIcon(G_DEFAULT_ICON);
   greenIcon.image = "/elements/markerA.png";

   markerOptionsGreen = { icon:greenIcon };
   markerOptionsPink = { icon:pinkIcon };

   geocoder.getLatLng(
      "Brescia, ITALY (IT)",
      function(point) {
         if ( point ) {
            var marker = new GMarker(point, markerOptionsPink);
            map.addOverlay(marker);
            GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml("<strong>Brescia, ITALY (IT)</strong>");});
         }
      }
   );

   geocoder.getLatLng(
      "Bridgewater, NJ, UNITED STATES (US)",
      function(point) {
         if ( point ) {
            var marker = new GMarker(point, markerOptionsPink);
            map.addOverlay(marker);
            GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml("<strong>"Bridgewater, NJ, UNITED STATES (US)"</strong>");});
         }
      }
   );

   //en zo verder voor 200 locaties...
}


Enkele probleemlocaties die dus soms niet werken:
  • Houston, TX, UNITED STATES (US)
  • Gunzenhausen, GERMANY (DE)
  • Brussel, BELGIUM (BE)
  • Saint Petersburg, RUSSIAN FEDERATION (RU)
  • Atlanta, GA, UNITED STATES (US)
  • Dana Point, CA, UNITED STATES (US)
Indien het misgaat is variabele point false ipv de betreffende coordinaten. Iemand enig idee?

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 13:47

André

Analytics dude

Maar ga je elke keer opnieuw die coördinaten ophalen? Het is toch veel handiger om dit eenmaal te doen en in een database op te slaan. Dat wordt zelfs door Google aangeraden.

Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 15-09 11:35
André schreef op zondag 15 februari 2009 @ 12:41:
Maar ga je elke keer opnieuw die coördinaten ophalen? Het is toch veel handiger om dit eenmaal te doen en in een database op te slaan. Dat wordt zelfs door Google aangeraden.
Neenee die sla ik op middels een ajax-call. Dus *uiteindelijk* zal dit probleem zichzelf oplossen. Maar ik zou dit proces graag wat bespoedigen :)