嘗試以下方法,並讓我瞭解解決方案的狀態。
NSString * theAddressString =......;
NSString *latlong = [[myLatitude stringByAppendingString:@","]stringByAppendingString:myLongitude];
NSString * query = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%@",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//NSString * urlString = [query stringByAddingPercetntEscapesUsingEncoding:NSUTF8StringEncoding];
[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString];
新代碼與給定的地址:
NSString *theAddressString = @"東村山市野口町1-3-49 アマドムス 102, 東京都, 日本";
NSString *urlString=[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
float latitude=0.0;
float longitude=0.0;
if([listItems count] >=4 && [ [listItems objectAtIndex:0] isEqualToString:@"200"]){
latitude = [[listItems objectAtIndex:2] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else{
NSLog(@"Error");
}
NSString *myLatitude = [NSString stringWithFormat:@"%f",latitude];
NSString *myLongitude = [NSString stringWithFormat:@"%f",longitude];
NSString *latlong = [[myLatitude stringByAppendingString:@","]stringByAppendingString:myLongitude];
NSString * query = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%@",[theAddressString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], [latlong stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:query]];
我已經檢查了查詢字符串谷歌地圖,它顯示我谷歌地圖的引腳。
Google地圖無法顯示地址。 我檢查谷歌地圖中的字符串,它與當我按下iPhone的聯繫人中的地址時相同。 – binzhang
請再次檢查給定的代碼,因爲您必須通過地址傳遞經緯度。 –
謝謝,但我必須處理輸入地址字符串,它不提供經度和緯度。 – binzhang