繁体   English   中英

如何在iPhone的WebView中加载地址?

[英]How to load address in webview in iPhone?

目前,我正在使用iPhone应用程序,使用UIWebview加载“ America”之类的地址,然后运行该应用程序,该地图未显示在屏幕上。 我想从“用户输入搜索栏”字段显示位置,如何解决此问题? 请帮我

提前致谢

我尝试了这个:

    webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 40, 320,376)];
    webView.delegate=self;
    webView.scalesPageToFit=YES;
    NSString *mapurl = @"http://maps.google.com/maps?q=";
    NSString *urlString1 = [mapurl stringByAppendingFormat:@"America"];    
    NSString *OmitSpace = [urlString1 stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

    NSURL *url=[NSURL URLWithString:OmitSpace];
    NSURLRequest *requestObj=[NSURLRequest requestWithURL:url];
    [webView loadRequest:requestObj];

屏幕截图: 在此处输入图片说明

另一个解决方案是使用googleapis查找api JSON响应的经度和纬度,然后在MKMapView使用它们来显示该特定区域。

一个例子..

http://maps.googleapis.com/maps/api/geocode/json?address=america&sensor=true

结果是JSON输出,您可以在其中获取纬度和经度,并进一步对其进行MKMapView

或对于iOS 5及更高版本,请使用CLGeocoderMKMapView获得相同的输出

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder geocodeAddressString:@"America" completionHandler:^(NSArray *placemarks, NSError *error) {
        //Error checking

        CLPlacemark *placemark = [placemarks objectAtIndex:0];
        MKCoordinateRegion region;
        region.center.latitude = placemark.region.center.latitude;
        region.center.longitude = placemark.region.center.longitude;
        MKCoordinateSpan span;
        double radius = placemark.region.radius / 1000; // convert to km

        NSLog(@"Radius is %f", radius);
        span.latitudeDelta = radius / 112.0;

        region.span = span;

        [mapView setRegion:region animated:YES];
    }];
NSString *OmitSpace = [urlString1 stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

这将仅省略空白。 它不会转换其他转义字符。 因此,将上面的行替换为此。

NSString *OmitSpace = [urlString1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM