2013-05-03 34 views
6

Uygulamam şu anda iOS için google maps api v2 kullanıyor. Api tarafından desteklenmediğini fark ettiğim özel döşemeli kaplamaları eklemek istiyorum.iOS Google Maps Api Döşenmiş Kaplamalar

Bu soruna ilk yaklaşımım, GMSOverlay sınıfını genişletmeye çalışmaktı ancak daha sonra drawLayer yönteminin hiçbir zaman çağrılmadığını buldum.

Ardından, özel sınıfımın UIView uzantısını artırmayı denedim ve ardından sınıfımı harita görünümüne alt görünüm olarak ekledim. Kamera güncellemelerini özel sınıfıma geri bildirmek için GMSMapViewDelegatedidChangeCameraPosition yöntemini kullanabildim, böylece karolar yeniden çizilebilirdi. Bu çoğunlukla bir çift istisna ile çalıştı, ilk önce sadece ilk set karolar yüklenecekti ve ilk X, Y, Z'den panned veya yakınlaştırdıysanız, map tiles, drawInRect yöntemi ile güncellenmeyecekti. İkinci sorun, özel UIView'un, dokunulduğunda tüm işaretleyicileri ve bunlara karşılık gelen açıklamaları kapsadığıydı.

Soruma göre, herhangi bir özel fayans ekleme veya GMSOverlay sınıfını alt sınıflara ekleme, örneğin google haritanın üst kısmındaki özel hava durumu karolarını eklemek isteyen var mı?

cevap

0

Bu örneğe bakmayı denediniz mi?

https://github.com/mtigas/iOS-MapLayerDemo

O MKMapKit Google değil-Harita SDK dayanmaktadır. Karoları yakınlaştırmayı destekler ve genişletmek çok kolaydır ve sizi doğru yönde gösterebilir. Eğer harita için fayans oluşturmak gerekirse

, sen MapTiler Windows sürümü kiremit üretiminin daha ince taneli bir kontrol sağlar

http://www.maptiler.org/

MapTiler

kullanabilirsiniz. . IOS (serbest bugün) için Google Maps SDK v 1.3.0 serbest bırakılması notlarından

+0

teşekkürler. Aslında Google, TiledOverlay'ların uygulandığı API'sının 1.3 sürümünü yayınladı. Böylece sanırım bu problem çözüldü. –