2017-03-16 12 views
-1

これは私が初めてBaidu APIを使用しているときです。 BaiduのオートコンプリートAPIの実装に問題があります。私はhttp://lbsyun.baidu.com/index.php?title=iossdkにBaiduの開発者のリンクを使用しています。IOS SDKのBaiduマップでマッププレースオートコンプリートを実装する方法

誰か私にこの点についてのチュートリアルをしてください。

私はこのチュートリアルに従っています。 link

が、このチュートリアルでは、私は、JSONファイルを受信することはできません、私にエラー

{「ステータス」を与える:102、「メッセージ」:「MCODEパラメータが存在しない、モバイル 型MCODE必要なパラメータを"}

+0

この機能を使用しなければならないことを意味百度地図でオートコンプリートを実装あなたは "オートコンプリート"とあなたが達成したい機能を意味しますか? –

+0

私が何かを入力すると、近くの場所の提案を私に与えます。 –

答えて

1

あなたはBaiduMapKitのPOI検索モジュールを使用する必要があります。これを試してください。

BMKCitySearchOption *citySearchOption = [[BMKCitySearchOption alloc]init]; 
citySearchOption.pageIndex = curPage;//here is the page index , you can set it to 0 
citySearchOption.pageCapacity = 10; 
citySearchOption.city= @"上海";//here is the city where you want to search the road 
citySearchOption.keyword = @"淮海路";//here is the road name or someplace name you want to search 
BOOL flag = [_poisearch poiSearchInCity:citySearchOption]; 
if(flag) { 
    _nextPageButton.enabled = true; 
    NSLog(@"success"); 
} 
else { 
    _nextPageButton.enabled = false; 
    NSLog(@"fail"); 
} 
+0

私はそれをチェックします。ありがとうございます –

0

- (void)viewDidLoad { 
    BaseString = @"http://api.map.baidu.com/place/v2/suggestion?query="; 
    ak = @"56dIEtBAp1CU7u8ZMcq8DyUH2mVsn38x"; mcode = @"com.baidu.Baidu-Map-Demo"; 
    regionkey = @"中国"; 
    PathString = @"http://api.map.baidu.com/direction/v2/transit?origin="; 
    self .mapView .userTrackingMode = BMKUserTrackingModeFollow; 
    // 2. Set the map type self.mapView.mapType = BMKMapTypeStandard; 
    // 3. Set Agent self.mapView.delegate = self; 
    [super viewDidLoad]; 
    mapView.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height); 
    mapView.delegate = self; anotation = [[BMKPointAnnotation alloc]init]; 
    destination = [[BMKPointAnnotation alloc]init]; 
    PathUrl = [[NSURL alloc]init]; 
    finalPathArray = [[NSMutableArray alloc]init]; 
    session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 
    downloadURL = [[NSURL alloc]init]; 
    path = [[BMKPolyline alloc]init]; 
    flag = 0; 
} 

-(void)GetSuggestion: (NSString *)query { 
    NSString *stringUrl = [NSString stringWithFormat:@"%@%@&page_size=10&page_num=0&scope=1&region=%@&output=json&ak=%@&mcode=%@",BaseString,query,regionkey,ak,mcode]; stringUrl = [stringUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 
    downloadURL = [NSURL URLWithString:stringUrl]; 
    if (downloadURL != nil) { 
     if (DownloadTask != nil) { 
      [DownloadTask suspend]; 
     } 
     DownloadTask = [session dataTaskWithURL:downloadURL completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
      NSDictionary *AutocompleteData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; 
      resultArray = AutocompleteData[@"result"]; 
      tbl_result.hidden = NO; 
      [tbl_result reloadData]; 
     }]; 
     [DownloadTask resume]; 
    } 
} 

BaiduのウェブAPIを使用してMCODEパラメータは、あなたのバンドルIDは、オートコンプリートオートコンプリートのためURLFOR例の書き込みURLをspacifyバンドルIDは何をすべきか

+0

私はそれを確認します。 –

+0

ありがとうございましたら、バグを見つけたら教えてください。 –

関連する問題