我在iPhone应用开发中使用谷歌地图路线时遇到问题。
NSString* apiUrlStr = [NSString stringWithFormat:@"http://www.maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@", saddr, daddr];
它返回404错误:找不到页面
应该是什么问题?
答案 0 :(得分:2)
您的网址不正确,如果您尝试从iPhone的网络浏览器启动Google地图,则应使用@"http://www.maps.google.com/maps?saddr=%@&daddr=%@"
。示例网址:http://www.maps.google.com/maps?saddr=22.990236,72.603676&daddr=23.023537,72.529091
有关Google地图网址计划的详细信息,您可以访问this documentation。
如果您想从iPhone启动原生iOS Google地图,您可以执行以下操作:
- (void)test {
NSURL *appURL = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"comgooglemaps://?saddr=%@&daddr=%@", @"22.990236,72.603676", @"23.023537,72.529091"]];
NSURL *webURL = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://www.maps.google.com/maps?saddr=%@&daddr=%@", @"22.990236,72.603676", @"23.023537,72.529091"]];
// If can launch from native iOS Google Maps app
if ([[UIApplication sharedApplication] canOpenURL:appURL]) {
[[UIApplication sharedApplication] openURL:appURL];
}
// Launch from web browser, if no native iOS Google Maps app installed
else {
[[UIApplication sharedApplication] openURL:webURL];
}
}
如果您只想在MapView中绘制路线,可以使用Google地图路线服务,有关使用路线请求网址的详细信息,请访问this documentation。
答案 1 :(得分:0)
你还没有解释你需要什么......
如果您需要在iPhone上显示地图上的位置,请转到IOS MapKit FrameWork。 很容易。
在构建设置中选择你的项目..(常规)添加MapKit FrameWork .. 无论你使用什么,都去你的xib文件或storyBoard。现在你可以在对象库中看到MKMapView。 在ur xib中拖动MkMapView。
编码部分
MKPointAnnotation* annotation = [[MKPointAnnotation alloc] init];
CLLocationCoordinate2D myCoordinate;
myCoordinate.latitude=(latitude);
myCoordinate.longitude=(longtitude);
annotation.coordinate = myCoordinate;
annotation.title =@"";
annotation.subtitle=@"";
//u can set the area currently displayed by the map view.
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(myCoordinate, 1000, 1000);
[self.mapView setRegion:[self.mapView regionThatFits:region] animated:YES];
[_mapView addAnnotation:annotation];