Force MapKit cache gebruiken kaarttegels alleen / netwerk uitschakelen programmatisch

stemmen
11

We hebben gestuit op een dergelijk probleem.

We zijn het ontwikkelen van een applicatie voor op reis. Om te zorgen dat de gebruiker niet veel geld te besteden aan roamingkosten in onze app hebben we besloten om een ​​optie-instellingen voor de gebruiker om alleen in de cache Nederland bekijken, te implementeren. Dus we laten de gebruiker beslissen of hij wil de kaarten van internet laden of hij wil om geld te besparen en te bekijken in de cache kaarten (opgeslagen in Library / Caches / MapTiles / MapTiles.sqlitedb).

We kunnen een manier om dit te implementeren niet vinden. Is er een manier om het netwerk programmatisch in dit geval uitschakelen? Of kracht MapKit gebruik gecached tegels alleen? We dachten dat over het wijzigen van APN programmatisch voor deze optie te dwingen MapKit offline gaan. Is het mogelijk om APN programmatisch veranderen?

Dank je!

De vraag is gesteld op 24/12/2009 om 19:02
bron van user
In andere talen...                            


4 antwoorden

stemmen
4

iPhone SDK apps hebben geen toegang tot het netwerk adapter instellingen, en ik weet van niets in de MapKit API die geeft je controle over het internetgebruik. Uw beste optie in dit geval is het waarschijnlijk om een ​​waarschuwing te suggereren dat de gebruiker vliegtuigmodus in- of uitschakelen dataroaming te presenteren.

antwoordde op 24/12/2009 om 21:58
bron van user

stemmen
2

Gebruik OpenStreetMap denk dat de commerciële kant ervan Cloud-en-klare kunt offline kaarten

http://developers.cloudmade.com/projects/show/iphone-sdk

Bibliotheken die iPhone-ontwikkelaars te helpen gebruiken OSM kaarten route-me is een open-source bibliotheek die wordt gebruikt in een aantal iPhone-applicaties te OSM kaarten. De Cloudmade iPhone Maps Library is een open-source library die op hoog niveau toegang tot Cloudmade's-OSM gebaseerde kaart tegels met verschillende maten en verschillende stijlen biedt. John McKerrell heeft de routing algoritme van gosmore te draaien op de iPhone geschikt gemaakt en heeft met succes gegenereerd basic routes. Ingewikkelder routes crash van de iPhone op dit moment

antwoordde op 14/07/2010 om 13:07
bron van user

stemmen
0

Er zijn een aantal manieren. Een daarvan is om uw eigen tegel overlay gebruiken en implementeren van de caching algoritme, hetzij in URLForTilePath: of in loadTileAtPath: resultaat:

Het werkt heel goed met open domein en een aantal particuliere. Niet in de cache van de standaard Apple Maps.

Een andere manier die in staat zijn om alles te cachen zal zijn, is subklasse NSURLProtocol. Er zijn een aantal tutorials en waarschijnlijk ook u kunt detecteren wanneer is een kaartbeeld en dienovereenkomstig te handelen

antwoordde op 18/02/2015 om 21:39
bron van user

stemmen
-1

De Google Map app doet de cache-functie ... MapKit lijken niet, ik denk dat Apple zal deze functie toe te voegen in de volgende versie SDK ...

antwoordde op 25/12/2009 om 06:48
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more