Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向google地图搜索字符串添加边界会导致零结果_Ios_Google Maps_Google Maps Sdk Ios - Fatal编程技术网

Ios 向google地图搜索字符串添加边界会导致零结果

Ios 向google地图搜索字符串添加边界会导致零结果,ios,google-maps,google-maps-sdk-ios,Ios,Google Maps,Google Maps Sdk Ios,不久前,我在我的地图应用程序中添加了一个搜索框,它用最少的选项进行非常简单的地址搜索 我刚刚使用当前屏幕视口添加了边界参数,如下所示 粘贴到浏览器时返回结果,但如果在代码中输入,则始终返回nil结果(jsonResponse始终等于nil) 在我添加边界条件之前,这段代码很好,如果我删除,这段代码也很好,所以我真的没有主意了我认为您需要用%7C替换|,例如,请参见此处: 如回答中的评论所述,您可以研究使用stringbyaddingpercentescapesusingencode为您转义

不久前,我在我的地图应用程序中添加了一个搜索框,它用最少的选项进行非常简单的地址搜索

我刚刚使用当前屏幕视口添加了边界参数,如下所示

粘贴到浏览器时返回结果,但如果在代码中输入,则始终返回nil结果(jsonResponse始终等于nil)


在我添加边界条件之前,这段代码很好,如果我删除,这段代码也很好,所以我真的没有主意了

我认为您需要用%7C替换|,例如,请参见此处:


如回答中的评论所述,您可以研究使用
stringbyaddingpercentescapesusingencode
为您转义URL的方法(例如,您不需要将空格替换为+等)。

我认为您需要将|替换为%7C,例如,请参见此处:


如回答中的评论所述,您可以使用
stringbyaddingpercentescapesusingencode
为您转义URL的方法(例如,您不需要将空格替换为+等)。

右键。将查找行替换为“lookUpString=[lookUpString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]”修复了按钮上完全正确的问题。将查找行替换为“lookUpString=[lookUpString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]”完全解决了此问题
-(void)  doGeocodingBasedOnStringUsingGoogle:(NSString*) searchString {

    GMSCoordinateBounds* bounds=[[self datasource] searchBounds];

    //CREATE LOOKUP STRING
    NSString *lookUpString = [NSString
    stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?
                       address=%@&bounds=%f,%f|%f,%f&sensor=true",
                              searchString,
                              bounds.southWest.latitude,
                              bounds.southWest.longitude,
                              bounds.northEast.latitude,
                              bounds.northEast.longitude];
    lookUpString = [lookUpString stringByReplacingOccurrencesOfString:@" "
                                                           withString:@"+"];

    //SEARCH FOR RESULTS
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(queue, ^{
        NSError *error = nil;
        NSData *jsonResponse = [NSData dataWithContentsOfURL:[NSURL URLWithString:lookUpString]];
        if (jsonResponse) {

        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonResponse options:kNilOptions error:&error];

        self.searchResults = [jsonDict valueForKey:@"results"];

        }
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.tableview reloadData];
        });
    });

}