-(voID)getPathDirections:(CLLocationCoordinate2D)source withDestination:(CLLocationCoordinate2D)destination{MKPlacemark *placemarkSrc = [[MKPlacemark alloc] initWithCoordinate:source addressDictionary:nil];MKMAPItem *mAPItemSrc = [[MKMAPItem alloc] initWithPlacemark:placemarkSrc];MKPlacemark *placemarkDest = [[MKPlacemark alloc] initWithCoordinate:destination addressDictionary:nil];MKMAPItem *mAPItemDest = [[MKMAPItem alloc] initWithPlacemark:placemarkDest];[mAPItemSrc setname:@"name1"];[mAPItemDest setname:@"name2"];MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];[request setSource:mAPItemSrc];[request setDestination:mAPItemDest];[request setTransportType:MKDirectionsTransportTypeautomobile];request.requestsAlternateRoutes = NO;MKDirections *directions = [[MKDirections alloc] initWithRequest:request];[directions calculateDirectionsWithCompletionHandler: ^(MKDirectionsResponse *response,NSError *error) { if (error) { // Handle Error } else { [_mapVIEw removeOverlays:_mapVIEw.overlays]; [self showRoute:response]; } }];}
我在罗马尼亚,我的国家在路线支持国家的Apple名单上.
此外,我能够在当前位置和地图上的标记之间进行路线…
有任何想法吗?
解决方法 您的代码与欧洲的坐标完美配合.您在上述评论中给我的坐标是在沙特阿拉伯,而不是罗马尼亚.确保您有一个有效的坐标.检查坐标的最简单方法是访问Google地图,然后在搜索框中输入您的纬度和经度值,并查看地图上的位置.P.S
你的错误是交换纬度和经度值.改变他们的方式再次检查:)
而不是这个:
source = CLLocationCoordinate2DMake(24.51898765563965,44.26686859130859); destination = CLLocationCoordinate2DMake(24.3679256439209,44.10536575317383);
用这个:
source = CLLocationCoordinate2DMake(44.26686859130859,24.51898765563965); destination = CLLocationCoordinate2DMake(44.10536575317383,24.3679256439209);总结
以上是内存溢出为你收集整理的ios – 地图上2个给定点之间的MKDirectionsRequest全部内容,希望文章能够帮你解决ios – 地图上2个给定点之间的MKDirectionsRequest所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)