我正试图从我的iPhone应用程序启动谷歌地图。
启动部分工作正常,但自从iPhone 3.1更新(我认为这是在这个时候),我得到了美国和加拿大的缩小地图,而不是放大我当前的位置。一切都运行良好,但有时候更新的东西停止正常工作。
这是我一直在使用的字符串。这适用于我的合作伙伴手机iOS 3.0和我们的iPod与iOS 2.2.1,但我的手机与iOS 3.1显示缩放的加拿大和美国地图。
NSString *name = @"clothing";
NSString *latlong = [[NSString alloc] initWithFormat:@"%@,%@", latitudeString, longitudeString];
NSString *url = [NSString stringWithFormat: @"http://maps.google.com/maps?q=%@&mrt=yp&ll=%@",
[name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
[latlong release];
非常感谢任何帮助。
提前致谢。
答案 0 :(得分:3)
这是我在one of my apps中使用的代码,它适用于3.1。 Google地图的参数为documented here。
CLLocationCoordinate2D stationLocation = ...
NSString *urlString = [[NSString alloc]
initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirflg=d",
curLocation.latitude,
curLocation.longitude,
stationLocation.latitude,
stationLocation.longitude];
NSURL *aURL = [NSURL URLWithString:urlString];
[urlString release];
[[UIApplication sharedApplication] openURL:aURL];