Google haritasını bir çokgen/daire çizmek istediğim harita görünümünde görüntülemek istedim.MapKit çerçevesine sahip Google harita üzerinde çokgen çizmek için
Herhangi bir öneri?
Google haritasını bir çokgen/daire çizmek istediğim harita görünümünde görüntülemek istedim.MapKit çerçevesine sahip Google harita üzerinde çokgen çizmek için
Herhangi bir öneri?
Bunu gerçekleştirmek için bu kişilerin blog yazısından fikirler kullandım. Temel olarak harita üzerinde şeffaf bir görünüm eklemeyi içerir. Harita daha sonra yerleri görünümdeki noktalara dönüştürmenizi sağlar. Sitenin size yardımcı olmaması ve kodumdan bir örnek oluşturup deneyemeyeceğimi lütfen bana bildirin.
Sorunuzu okuyorum yolu programlı harita üzerinde çokgen çizmek istiyoruz olmasıdır. Bunun için Apple docs on MapKit.
'a bakın. MapKit haritası üzerinde şeffaf görünümler eklemeniz gerekmez (MKMapView
). Bir bindirme nesnesi, bu durumda bir MKPolygon
oluşturun. (Aşağıdaki örnekte, değişken map
sen bu kodu koymak görünümü denetleyicisi tarafından sahip olunan MKMapView
örneği olacaktır):
CLLocationCoordinate2D points[4];
points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);
MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4];
poly.title = @"Colorado";
[map addOverlay:poly];
, sen görünümünü özelleştirmek isterseniz (renkler, inme, her zaman aslında haritayı atamak hatırlamak tabii
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKPolygon class]])
{
MKPolygonView* aView = [[[MKPolygonView alloc] initWithPolygon:(MKPolygon*)overlay] autorelease];
aView.fillColor = [[UIColor cyanColor] colorWithAlphaComponent:0.2];
aView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7];
aView.lineWidth = 3;
return aView;
}
return nil;
}
: vs.) bindirme, bunu MKMapView
nesnenin sahibi var görünümü kumandam MKMapViewDelegate
protokolünü uygulamak ve mapView:viewForOverlay
bir uygulamasını sağlamak Örneğin, arayüz oluşturucusunda veya kodda (ör., görüntü denetleyicinize (MKMapViewDelegate) delege koyun. viewDidLoad
).
Ve tabi ki, daireler için 'MKPolygon' yerine' MKCircle' kullanılır. – Nate