2012-01-28 2 views
1

특정 주소에 대해 하나의 핀을 보여주는 Mapkit으로 간단한 앱을 구현했습니다. 이 핀을 클릭하면 위치 및 공개 표시에 대한 세부 정보를 볼 수 있습니다. 이 시점에서 사용자가 자신의 위치에서부터 길 찾기를 할 수있게하고 싶습니다.iOS Mapkit에서 Google Maps로?

내가 가진 유일한 아이디어는 Google지도에서 원하는 좌표로 URL을 여는 웹보기를 밀어 넣는 것이 었습니다. 이렇게하는 데 효과적이고 유용한 방법이 많이 있습니까? 다른 아이디어? 사전에

감사합니다, 얏사는

답변

2

당신은 당신이 UIWebView을 포함하거나 사용자가지도 응용 프로그램에 갈 수 있도록하려는 경우 결정해야합니다. 사용자가 앱에서 사용자를 내보낼 수 있지만지도 앱의 사용자 환경이 웹 환경보다 훨씬 우수하면 일종의 '사용자 연결'이 손실됩니다. 그런 이유로, 나는지도 app와 함께 갔다.

UIApplication openURL을 통해지도 앱을 시작하는 방법은 http://wiki.akosma.com/IPhone_URL_Schemes#Maps을 참조하십시오.

맵 앱이 설치되지 않은 경우 (시뮬레이터 만) 웹 페이지가 열리지 만 포함 된 UIWebView이 아닌 Safari에서는 열립니다.

1

실제로 iOS7에서는 MapKit을 사용하여 앱 내에서 길 안내를 할 수 있습니다. 내 소스는 Here입니다. 그리고 나는 인용 :

MKDirectionRequest 및 MKDirectionResponse 많은 모바일 사용자는 아이폰 OS 자신의 기기로부터의 방향에 의존 7 개발자는 이제 대신지도 응용 프로그램으로 전환하여 응용 프로그램의 컨텍스트 내에서 그들을 제공 할 수 있습니다. 소스와 목적지로 요청을 시작합니다. 다른 옵션에는 대체 경로, 운송 유형 및 출발/도착 시간이 포함됩니다.

MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init]; 
> request.source = source; request.destination = destination; 
> request.requestsAlternateRoutes = YES; MKDirections *directions = 
> [[MKDirections alloc] initWithRequest:request]; [directions 
> calculateDirectionsWithCompletionHandler: ^(MKDirectionsResponse 
> *response, NSError *error) {  if (error) {  NSLog(@"Error is %@",error); } else {  [self showDirections:response];  } }]; 

MKDirectionsResponse는 하면 얻을 방향의 각 단계를 제공 할 수 MKRouteStep 그래서 의 어레이를 포함하고, 각각의 MKRoutes의 배열을 포함하는 정보의 과다를 제공 귀하의 사용자는 위치에 있습니다. 배열에 MKRoute 및 MKRouteSteps을 넣어, 그것은 쉽게 테이블의 정보를 표시하거나 같이지도에 정보를 표시 할 수 있습니다 :

for (MKRoute *route in _response.routes) {  [_mapView 
> addOverlay:route.polyline level: MKOverlayLevelAboveRoads]; } 

결과는 다음과 같이 자주 업데이트 될 수 있습니다

사용자가 기기를 가지고 이동하므로 은 결과를 오래 캐시하지 않습니다.

Google Maps API와 비슷한 기능을 통해 Google은 앱에 하루에 허용 할 수있는 요청 수에 한도를 적용합니다. 애플은 을 선택하여 각 장치를 다른 방향으로 제한하고 속도를 제한합니다. 은 앱별 또는 개발자 별 사용 제한이 없음을 의미합니다.기기가 높은 사용량에 도달하면 기기가 재귀 적으로 요청을하는 등의 작업을 수행하는 앱을 제한하기 위해 조절됩니다 ( ).

죄송합니다.이 답변이 이상하게 형식화되어있는 경우, 나는 그 모든 인용문과 코드 서식을 찾기가 어렵습니다. 희망이 도움이됩니다.