我在UIWebview中加载谷歌地图,为源和目的地提供lat长坐标。但问题是它显示了加载时的行车路线。如果我们想查看地图,那么我们必须点击在地图旁边提供的地图按钮。我需要在加载网页视图时直接显示地图而不是行车路线。 任何人都可以告诉我如何实现这一目标。
UIWebView *webView=[[UIWebView alloc]initWithFrame:webViewRect];
webView.delegate=self;
webView.scalesPageToFit=YES;
CLLocationCoordinate2D start = { 34.052222, -118.243611 };
CLLocationCoordinate2D destination = { 37.322778, -122.031944 };
//NSString *urlString=@"http://maps.google.co.in/";
NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f",
start.latitude, start.longitude, destination.latitude, destination.longitude];
NSLog(@"URL string-----> %@",googleMapsURLString);
NSURL *url=[NSURL URLWithString:googleMapsURLString];
NSURLRequest *requestObj=[NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[self.view addSubview:webView];
此外,我想知道如果我需要从说到位置A到B和从B到C,我将如何传递URL。
答案 0 :(得分:9)
只需更改您的网址
即可NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f", start.latitude, start.longitude, destination.latitude, destination.longitude];
使用以下代码
NSString *googleMapsURLString = [NSString stringWithFormat:@"http://maps.google.com/?saddr=%1.6f,%1.6f&daddr=%1.6f,%1.6f&output=embed",start.latitude, start.longitude, destination.latitude, destination.longitude];
唯一添加的内容是output=embed
,它会强制网络直接打开地图,而不会打开要求填写输入框的源和目标的屏幕。
如需更多说明,您还可以查看Google Map Parameters
中谷歌地图中使用的所有参数以上将解决您的第一个查询。
关于第二个查询 即如果我需要从A位置到B位置,从B位置到C位置,我想知道如何传递URL。 抱歉不知道
答案 1 :(得分:1)
NSString *ll = [NSString stringWithFormat:@"%f,%f",
self.placemark.location.coordinate.latitude,
self.placemark.location.coordinate.longitude];
ll = [ll stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *url = [NSString stringWithFormat:@"http://maps.google.com/?q=%@", ll];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
[self.tableView deselectRowAtIndexPath:indexPath animated:NO];
答案 2 :(得分:0)
在仔细阅读上面链接的Google Map Parameters文档时,我遇到了问题第二部分的答案。
此外,我想知道如果我需要从说到位置A到B和从B到C,我将如何传递URL。
参数空间的Directions部分似乎允许通过将“+ to:”子句附加到查询参数的daddr组件来按顺序路由多个目标。
例如:
https://maps.google.com/maps?saddr=Ferry+Plaza+SF&daddr=Coit+Tower+to:Union+Square
显示从旧金山的渡轮广场开始的路线,然后按顺序前往Coit Tower,然后是Union Square。
在该维基的上述链接路线部分中了解'daddr ='参数以获取更多信息。
通常,您可以通过参数检查找出Google Maps网址的外观。 E.g:
您应该能够使用此过程推断出新类型查询的制定。