Ich habe eine Karte, um Richtungen anzuzeigen. Ich kann eine Richtung antippen, um eine Anmerkung mit den Anweisungen anzuzeigen, aber was ich versuche, ist, den Richtungskoordinaten eine Markierung hinzuzufügen. Hier ist der Code, den ich zur Zeit bin mit:Hinzufügen eines Marker-Bildes zu Google Maps auf IOS Objective-C App
-(void) getDirectionsFromStart: (CLLocation*) start toEnd: (CLLocation*) end
{
NSString *mapDir = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=false", start.coordinate.latitude, start.coordinate.longitude, end.coordinate.latitude, end.coordinate.longitude];
if ([self.directionsArray count] == 0) {
//parse the string response and then draw the points on a map
NSError *error;
NSString *response = [NSString stringWithContentsOfURL:[NSURL URLWithString:mapDir] encoding:NSUTF8StringEncoding error:&error];
if (response == nil) {
NSLog(@"Google Maps error: %@", [error localizedDescription]);
NSLog(@"Google Maps recovery: %@", [error localizedRecoverySuggestion]);
//[self getDirectionsFromStart:nil toEnd:nil];
}
self.directionsArray = [gMapsJsonDirectionsParser parseJsonToMapDirections:response];
}
for (gMapsJourneyLeg *leg in self.directionsArray) {
@autoreleasepool {
self.directionsHeader.text = [NSString stringWithFormat:@"To %@ Taking: %@", leg.end_address, leg.duration.text];
for (gMapsStep *step in leg.steps) {
MKPolyline *polyLine = [gMapsJsonDirectionsParser polylineWithEncodedString:step.polyLine];
MKPolylineView *line = [[MKPolylineView alloc] initWithPolyline: polyLine];
line.fillColor = [UIColor blueColor];
line.strokeColor = [UIColor blueColor];
line.lineWidth = 5;
[self.mapView addOverlay:polyLine];
//[self.mapView setVisibleMapRect:polyLine.boundingMapRect];
//map point code
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
point.coordinate = step.end_location.coordinate;
point.title = step.htmlInstructions;
[[self.mapView viewForAnnotation:point] setTag:1];
UIImage *image = [UIImage imageNamed:@"marker_red.png"];
[[self.mapView viewForAnnotation:point] setImage:image];
[self.mapView addAnnotation:point];
}
}
}
[self.tableView reloadData];
}
Um klar zu sein, die Anmerkungen und Linienzug sind beide gut, es ist nur der Marker wird nie angezeigt.