我正在試圖繪製多個MKPolylines對應相應的lat/lng點陣列。但是,當我添加Overlay到我的mapView時,這些點是繪製的,但沒有連接。通過JSON文本MKPolyline只能繪製點
-(void)addAllRoutes:(NSData *)routedata{
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:routedata options:0 error:NULL];
for (NSDictionary *annnotationobject in json) {
NSArray *polyarray = [[NSArray alloc] initWithArray:[annnotationobject objectForKey:@"polyline"]];
NSDictionary *polyDict = [[NSDictionary alloc] initWithDictionary:[polyarray objectAtIndex:0]];
//NSLog(@"keys = %@",[polyDict allKeys]);
//NSLog(@"values = %@",[polyDict allValues]);
NSInteger pointsCount = polyarray.count;
CLLocationCoordinate2D pointsToUse[pointsCount];
for(int i = 0; i < pointsCount; i++){
NSString *lat = polyDict[@"lat"];
NSString *lng = polyDict[@"lng"];
CLLocationDegrees latitude = [lat doubleValue];
CLLocationDegrees longitude = [lng doubleValue];
pointsToUse[i] = CLLocationCoordinate2DMake(latitude, longitude);
}
MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:pointsToUse count:pointsCount];
[self.mapView addOverlay:myPolyline];
}
}
路線數據當屬:究竟
"polyline": [
{
"lat": 43.02038,
"lng": -87.897706
},
{
"lat": 43.008363,
"lng": -87.892578
},
{
"lat": 43.006454,
"lng": -87.891977
},
{
"lat": 43.005188,
"lng": -87.891827
},
{
"lat": 43.004029,
"lng": -87.891891
},
{
"lat": 43.00302,
"lng": -87.89202
},
{
"lat": 43.00184,
"lng": -87.892106
}
],
每一點地塊如預期,它只是沒有繪製線條將它們連接起來。遇到類似情況的其他人很困難。歡迎所有幫助/建議。如果需要可以提供額外的代碼。
謝謝你的教訓安娜,那完美。 – WiseGuy