Mam do czynienia z problemem podczas wyświetlania mapy google w komórce widoku tabeli z szybkim. Chcę wyświetlić Check In (szerokość i długość geograficzną) na podstawie tego chcę wyświetlić mapę google w widoku tabeli. Będę szerokości i długości geograficznej z serwera, jeśli brak dostępnej lokalizacji oznacza, że otrzymam zero. Tak więc, w jednym scenariuszu otrzymuję poprawność, ale podczas przeładowywania najwyższego poziomu uzyskuję mapę kiedy i gdzie ich szerokość i długość geograficzna jest również zerowa. Proszę, prowadź mnie.Google Map w tableView
Odpowiedz
Widok mapy jest drogim widokiem do utworzenia wystąpienia. Nawet przy korzystaniu z dequeueReusableCellWithIdentifier
nadal będzie obciążony zasobami z dużą liczbą elementów.
Uważam, że najlepszym sposobem jest użycie sposobu wygenerowania statycznego obrazu mapy z kombinacji długości/szerokości geograficznej.
Można spojrzeć here i można zobaczyć, jak łatwo skonstruować wywołania API do wielu popularnych dostawców map, takich jak Google na mapie statycznej obrazu jak na przykład:
Warto również wspomnieć niektórzy z tych dostawców mogą mieć ograniczenia (np. Google może potrzebować klucza API w przypadku dużego ruchu). Więc wybierz mądrze po pewnych badaniach.
whats about apple map? –
Prawdopodobnie możesz użyć 'MKMapSnapshotter'. Potrzebuje niektórych opcji, takich jak region do migawki i podobnych rzeczy, a to da ci UIImage dla wyjścia. Jest dostępny dla systemu iOS 7 i nowszych wersji, a także działa asynchronicznie. –
dzięki za komentarz, ale już to zrobiłem. –
Wygląda stoją dwie kwestie
1) już wspomniano jeden „Mapa pojawia nawet gdy dane jest zerowa”
2) Kwestia wydajności (nie jest tu wspomnieć chociaż)
pierwszy z nich polega na usunięciu z komórki komórki. Po przeładowaniu tabeli komórka zostanie ponownie użyta (Nie utworzono ponownie).
Po powrocie na swoją komórkę w wierszu
tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
komórka z widoku mapy mogą uzyskać zwrot, dlatego tam dostać niechcianego mapę. Powinieneś zrobić to zero, aby temu zapobiec.
2:
Kiedy przyszedł do wykonania, jego Niewłaściwa podejścia do pokazania MapView w każdej komórce. Alternatywnym podejściem jest, aby obraz z mapy url
użyć tej
let mapUrl: String = NSURL(string:"YourMapURL")
let mapImage = UIImage.imageWithData(NSData.dataWithContentsOfURL(mapUrl))
let latitude:Double = 17.3850
let longitude:Double = 78.4867
let imageURL = NSURL(string: "http://maps.googleapis.com/maps/api/staticmap?center=\(latitude),\(longitude)&zoom=12&scale=false&size=600x300&maptype=roadmap&format=png&visual_refresh=true")
let imagedData = NSData(contentsOfURL: imageURL!)!
staticMapImgView.image = UIImage(data: imagedData)
whats about apple map? –
- 1. Ostrzeżenie w Google Map
- 2. znacznik map Google google umieszczenie
- 3. Google Map w urządzeniach mobilnych
- 4. Google Map w JAVA Swing
- 5. Google Map v3 Map załadowany zdarzenie
- 6. AngulaJS Map Google map instancji mapy
- 7. map google patcha do
- 8. Google Map Alternatywna
- 9. Przełączanie map Google i Google Earth
- 10. Google map + jQuery: renderowanie błędu
- 11. format adresu dla Map Google
- 12. Google map v2 lub v3?
- 13. Google Map Marker Manager V3
- 14. Google Map API - usuwanie znaczników
- 15. Google Map v2 Animacja znaczników
- 16. Problem z dokładnością map Google
- 17. PhantomJS nie załadował Map Google
- 18. Android - Google Map nie wyświetla
- 19. Google Map Marker animacji tętna?
- 20. Angular Google map geokodowanie callback
- 21. Oczekiwanie na geokodera map Google?
- 22. Tworzenie instancji Google Map w klasie maszynopisu
- 23. Google Map nie wyświetla się w Androidzie
- 24. Niestandardowe infowindow w Google map android v2
- 25. Kody pocztowe w Radius Google Map
- 26. Google Map Fragment w okrągłym widoku
- 27. Map Search Bar w Google Maps v2
- 28. Wyłącz nawigację klawiaturową w Google Map
- 29. InfoWindow nie pokazując w Google Map
- 30. Problem z migotaniem Map Google w przeglądarce Google Chrome
Brzmi to może chcesz leniwie instancji i włóż widok Google Map programowo. 'dequeueReusableCell' może dać ci komórki, które mają już utworzoną mapę. Nie wiem jednak, czy jest to bardzo jasne, o co prosisz, a także ostrzegłbym przed tworzeniem zbyt wielu takich drogich widoków. Być może istnieje rozwiązanie, które polega na generowaniu statycznych obrazów pokazujących lokalizację, którą użytkownicy mają widzieć. –