Am vrut să afișeze Google hartă într-o vizualizare hartă pe care doresc să atragă un poligon / cerc.
Vreun sfat?
Am vrut să afișeze Google hartă într-o vizualizare hartă pe care doresc să atragă un poligon / cerc.
Vreun sfat?
Modul în care am citit întrebarea dumneavoastră este că doriți să programatică desena poligonul pe hartă. Pentru aceasta, consultați docs Apple MapKit.
Nu aveți nevoie să adăugați vederi transparente peste harta MapKit ( MKMapView). Creați un suprapunere de obiect, în acest caz , o MKPolygon. (în exemplul următor, variabila mapva fi MKMapViewinstanța deținută de către controlorul de vedere pe care ai pus acest cod în):
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];
Apoi, dacă doriți să personalizați aspectul (culori, accident vascular cerebral, etc.) al suprapunerii, vă pune în aplicare MKMapViewDelegateprotocolul în controlerul de vedere aveți care deține MKMapViewobiectul și să ofere o punere în aplicare a mapView:viewForOverlay:
- (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;
}
Desigur, amintiți - vă mereu pentru a atribui de fapt delegat harta instanță pentru a vizualiza controler (MKMapViewDelegate), fie în constructor de interfață, sau în cod ( de exemplu viewDidLoad).
Am folosit idei de la acest blog persoane pentru a realiza acest lucru. Este practic implică adăugarea de vedere transparent peste hartă. Harta apoi vă permite să convertiți locații la puncte de pe ecranul. Lasă-mă să știu dacă site-ul nu te ajuta și eu pot încerca și dezgropa un exemplu din codul meu.