2013-06-12 10 views
5

Tüm işaretçilerime google maps kamera görünümünde sığdırmak için fitBounds yöntemini kullanmaya çalışıyorum. Bu yüzden benim işaretleyicilerim markersArray'da saklıyorum ve aşağıdaki kodları kullanarak GMSCoordinateBounds'u 1 ve 2 numaralı işaretçileri olan markersArray'da kullanabilirsiniz.GMSCoordinateBounds Koordinatlar dahil değil Google Haritalar'da düzgün çalışmıyor SDK için iOS

includingCoordinate kullanarak markersArray kullanarak 3. işaretçiyi eklemeye çalıştığımda, ne değerleri ne de haritadaki sınırları güncelleştirerek, kamerayı buna göre değiştirdiğimi göremiyorum.

Tuhaf olan şey, Google maps SDK for iOS docs'da GMSCoordinateBounds'un "değişmez olduğunu ve yaptıktan sonra değiştirilemeyeceğini" söylüyor. bu mantıklı mı? Onları inşa ettikten sonra sınırları değiştiremem? O zaman nasıl sınırlara daha fazla koordinat eklerim?

GMSCoordinateBounds *bounds= [[GMSCoordinateBounds alloc] init]; 

    GMSMarker *marker1 = [markersArray objectAtIndex:0]; 
    GMSMarker *marker2 = [markersArray objectAtIndex:1]; 
    GMSMarker *marker3 = [markersArray objectAtIndex:2]; 

    bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:marker1.position coordinate:marker2.position]; 

    //Add the 3rd marker to the bounds 
    [bounds includingCoordinate:marker3.position]; 

    GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds withPadding:600.0f]; 
    [mapView_ animateWithCameraUpdate:update]; 

cevap

26

GMSCoordinateBounds includingCoordinate: yöntem orijinal sınırları ve yeni konuma kombinasyonunu içeren yeni sınırlar, bu onu çağırıyorum nesneyi değiştirmez verir:

İşte benim kodudur. Şimdi gayet iyi çalışıyor

bounds = [bounds includingCoordinate: marker3.position]; 
+0

Teşekkür:

Yani bunun gibi bir şey gerekir. Çok açık ki sorduğum için utanıyorum. – Ali

+0

Sadece günümü kurtardın! Teşekkür ederiz – apinho

+0

Bu Google, bir dizi konum alan ve size uygun sınırlar getiren bir yöntemi nasıl eklemedi? Şimdi uygulanmakta olan yol, sizi yalnızca iki konumla başlatmanızı ve ardından da dahil olmak üzere dinlenme aramayı da dahil etmenizi sağlar. Bunu yapmanın daha iyi bir yolunu mu duyuyorum? – Pauls

İlgili konular