4

我正在尝试从我的 iPhone 应用程序启动谷歌地图。

启动部分工作正常,但自从 iPhone 3.1 更新(我想是在这个时候)我得到了美国和加拿大的缩小地图,而不是放大我当前的位置。最初一切正常,但有时在更新前后事情停止正常工作。

这是我一直在使用的字符串。这适用于我合作伙伴的 iOS 3.0 手机和我们的 iOS 2.2.1 iPod,但在我的 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];

任何帮助是极大的赞赏。

提前致谢。

4

1 回答 1

3

这是我在我的一个应用程序中使用的代码,它适用于 3.1。谷歌地图的参数记录在这里

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]; 
于 2009-10-14T03:37:42.393 回答