Jeg har vært programmering en app bruker mapkit og SDK 3.0. Alt fungerer allright bortsett fra én detalj. Jeg har lagt merke til at når du viser userlocation jeg får forskjellige bruker posisjoner på kartet avhengig av dagens nettverk. Jeg har lest om dette problemet og forstår at det er vanlig? I mitt WLAN er brukerens posisjon vist riktig. Når du bruker 3G-nettet (T-mobile) stillingen er rundt 100 meter fra min faktiske posisjon. Jeg forstår at dette har å gjøre med celluar telefonen nettet ved hjelp av triangulering og WLAN er GPS eller WiFi hotspot brukt. Så mitt spørsmål. Er det en måte å gå rundt dette? Min programmet viser posisjoner i en by og også avstanden til disse stillingene. Det er veldig tydelig og også missleading hvis stillingen er falsk grunn av korte avstander. Er det en måte (i kode) for å sette hvilken metode som skal brukes for å få brukeren posisjon? Jeg har testet alle andre apps på min iPhone ved hjelp av kart og problemet ser ut til å være den samme ved alle av dem. (Hvis noen ønsker å teste min app det er i App Store for gratis, under car2go også andre kommentarer er selvfølgelig interessant) Takk på forhånd! -loop-
GPS eller triangulering når du bruker posisjon på kartet?
Kjerne Beliggenheten gir informasjon om den vertikale og horisontale nøyaktigheten for plasseringen at det er rapportering. Man bør bruke den nøyaktighet for å rapportere til brukeren dersom plasseringen er mistenkt. Google maps gjør dette ved å øke størrelsen på den blå sirkelen rundt plasseringen markør. Det finnes andre måter å indikere til brukeren at plasseringen er mistenkt, varsler bokser, ikke viser plasseringen hvis den faller utenfor noen forhåndsbestemt nøyaktighet, etc.
Kanskje du kan bruke CoreLocation direkte. CLLocationManagergir deg CLLocationobjekter enn inkludere deres nøyaktighet. Hvis du får en nøyaktighet under 50 meter, den plasseringen trolig kom fra GPS.
Bruk en alternativ kilde for ditt sted? Bærbare GPS-enheter ville gjøre utslaget.
Det virkelige spørsmålet er hvordan kan du korrigere dataene som blir spesifisert av 3G triangulering. Jeg lurer på om du kan gjøre en differensial å korrigere for 3G og befinner seg feil.
1) I en gitt by, kalibrere 3G posisjonsfeil ved å plotte byen. Dette kan rettes opp ved 3G-nettene til enhver tid, så du må ha en måte å kontrollere og re-kalibrere.
2) Kalibrer 3G-nettverk plassering ved hjelp av et kjent sted - en 3G sted sammen med en GPS-posisjon. Ta det som en differensial som kan brukes på andre 3G steder. Dette forutsetter en jevn forskyvning i triangulering beregning som trolig er ikke virkeligheten.
3) Vent til 3G-nettverk for å fikse det og ikke gjøre noe i mellomtiden.
4) Gi 3G-nettet leverandør med feilinformasjon i sin triangulering og se om det er en prioritet for dem.
Jeg kan ikke tenke på noen andre levedyktige alternativer ...













