webForumDet fria alternativet

Google Maps problem med adresser ute i bushen

Webbutveckling

4 svar · 1 080 visningar · startad av prplxr

Medlem sedan juni 2012581 inlägg
Frågan#1

Åh, suck. Varför kan de bara inte ha normala adresser?

Kör Google Maps som jag integrerat på en sida som dynamiskt tar en adress till en skola och gör om till koordinater mha Google Maps Geocoder. Detta fungerar utmärkt på skolor som har en "normal" adress, till exempel Stora gatan 12, UPPSALA.

Tyvärr finns det ju också små skolor långt ute på landet som saknar gatunamn i sin adress. Dessa får jag ibland inget resultat på när jag matar in dem i Geocodern. När jag söker på exakt samma fras på "vanliga" Google Maps hittar jag dem oftast, dock.

Vad tror ni problemet kan vara?

Postar min kod jag har här:

  var geocoder;
  var map;
  function initMap() {
	geocoder = new google.maps.Geocoder();
  
	var myOptions = {
	  zoom: 15,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	codeAddress();
  }

  function codeAddress() {
	var address = "<?php echo $adress; ?> <?php echo $ort; ?>";
	if (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("Geocoding misslyckades.\nFel: " + status + "\nAdress: " + address);
		}
	  });
	}
  }
Medlem sedan juni 2012581 inlägg
#2

Det ska väl föras till protokollet att geocodingen lyckas, men jag får statusen ZERO_RESULTS. Det här förbryllar mig eftersom EXAKT samma sökterm visas korrekt i Google Maps. Googles hjälpfiler är inte mycket till hjälp heller då de bara talar om för mig vad jag redan vet.

Medlem sedan juni 2012581 inlägg
#3

Dagens troligtvis sista uppdatering då jag ser att en del varit intresserade av tråden.

Problemet verkar vara att Geocoder inte använder sig av samma databas som Google Maps så jag har gjort en tillfällig "lösning" där jag matat in koordinaterna manuellt för berörda skolor och fallit tillbaka på att visa bara dessa med hjälp av koordinaterna.

Medlem sedan feb. 20005 891 inlägg
#4

Har byggt en site med exakt samma funktion och stötte på samma problem.

Valde att göra multipla slagningar mot Geocoder, eftersom vi upptäckte att det ibland gick bra att slå på t.ex. postnummer + ort (för en ungefär position) men inte den kompletta adressen. Så om den första misslyckades, så kollade vi nummer två, sen en tredje ännu "grovare". Det täckte uppåt 90% av 1000+ platsdata vi fick från skolverkets databas.

Det beror iofs på vad man har för krav, i många fall kan det ju vara bättre att helt enkelt flagga objektet och sätta null på koordinaterna för manuell granskning.

Medlem sedan juni 2012581 inlägg
#5

casca skrev:

Har byggt en site med exakt samma funktion och stötte på samma problem.

Valde att göra multipla slagningar mot Geocoder, eftersom vi upptäckte att det ibland gick bra att slå på t.ex. postnummer + ort (för en ungefär position) men inte den kompletta adressen. Så om den första misslyckades, så kollade vi nummer två, sen en tredje ännu "grovare". Det täckte uppåt 90% av 1000+ platsdata vi fick från skolverkets databas.

Det beror iofs på vad man har för krav, i många fall kan det ju vara bättre att helt enkelt flagga objektet och sätta null på koordinaterna för manuell granskning.

Det här är den metoden jag använt mig av nu. Först söker jag på Skola + Ort, får man inget uppslag söks på Adress + Ort och om även det misslyckas används koordinater.

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)