Για να σχεδιάσετε ένα πολύγωνο στο google map με το πλαίσιο MapKit

ψήφοι
5

Ήθελα να εμφανιστεί χάρτης Google σε μια προβολή χάρτη στο οποίο θέλω να σχεδιάσετε ένα πολύγωνο / κύκλο.

Οποιαδήποτε συμβουλή?

Δημοσιεύθηκε 26/08/2009 στις 12:42
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
6

Ο τρόπος που διαβάζω την ερώτησή σας είναι ότι θέλετε να προγραμματισμού σχεδιάσετε το πολύγωνο στο χάρτη. Για το σκοπό αυτό, συμβουλευτείτε τα έγγραφα της Apple για MapKit.

Δεν χρειάζεται να προσθέσετε διαφανή θέα στο χάρτη MapKit ( MKMapView). Μπορείτε να δημιουργήσετε μια επικάλυψη αντικείμενο, σε αυτή την περίπτωση ένα MKPolygon. (στο ακόλουθο παράδειγμα, η μεταβλητή mapθα είναι το MKMapViewπαράδειγμα που ανήκει στον ελεγκτή άποψη ότι βάζετε τον κώδικα σε):

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];

Στη συνέχεια, αν θέλετε να προσαρμόσετε την εμφάνιση (χρώματα, εγκεφαλικό επεισόδιο, κ.λπ.) της επικάλυψης, θα εφαρμόσει το MKMapViewDelegateπρωτόκολλο του ελεγκτή άποψη έχετε που κατέχει το MKMapViewαντικείμενο και παρέχουν μια εφαρμογή της 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;
}

Φυσικά, πάντα να θυμάστε να αναθέσει στην πραγματικότητα εκπρόσωπος της χάρη χάρτη για ελεγκτή άποψή σας (MKMapViewDelegate), είτε με τον κατασκευαστή περιβάλλον, είτε σε κωδικό (π.χ. viewDidLoad).

Απαντήθηκε 15/05/2012 στις 08:00
πηγή χρήστη

ψήφοι
1

Θα χρησιμοποιηθεί ιδέες από αυτό πρόσωπα blog post για να επιτευχθεί αυτό. Είναι ουσιαστικά περιλαμβάνει την προσθήκη ενός διαφανούς θέα πάνω από το χάρτη. Ο χάρτης συνέχεια, σας επιτρέπει να μετατρέψετε θέσεις στα σημεία για την προβολή. Επιτρέψτε μου να ξέρω αν το site δεν σας βοηθήσει και να μπορώ να προσπαθήσουμε και να ξεθάψουν ένα παράδειγμα από τον κώδικα μου.

http://spitzkoff.com/craig/?p=65

Απαντήθηκε 14/10/2009 στις 20:59
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more