路由时谷歌地图404页面找不到错误

时间:2015-06-25 11:46:11

标签: ios objective-c google-maps

我在iPhone应用开发中使用谷歌地图路线时遇到问题。

NSString* apiUrlStr = [NSString stringWithFormat:@"http://www.maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@", saddr, daddr];

它返回404错误:找不到页面

应该是什么问题?

this is example link..

2 个答案:

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