Новости  Акты  Бланки  Договор  Документы  Правила сайта  Контакты
 Топ 10 сегодня Топ 10 сегодня 
  
10.12.2015

Проложить маршрут между несколькими точками

Apple внесла основные обновления для фреймворков MapKit и CoreLocation на проложить маршрут между несколькими точками 9, а именно, более подробные карты, новые возможности транзитной маршрутизации и упрощенная система поиска локализации. Стремление Apple обогнать своих конкурентов а именно Google Maps должно быть достаточным стимулом присоединиться к стремительно развивающимся Apple Maps, если вы еще этого не сделали! В этом уроке вы создадите приложение с именем Отмщениекоторое поможет вам найти самый быстрый маршрут "туда-обратно" от начальной точки до двух точек назначения и обратно. Приложение получает данные, используя CoreLocation, и затем находит самый быстрый маршрут между этими адресами, используя MapKit. Приступаем Загрузите и откройте ProcrastinatorsRevenge. Запустите его, и чтобы понять, как оно работает, пощелкайте внутри приложения. Нажмите на Route It! Использование MapKit с CoreLocation Как именно MapKit относится к CoreLocation? В документации Apple просто говорится "Фреймворк Core Location позволяет определить текущее местоположение" и, хотя вы будете использовать эту особенность CoreLocation для предварительного заполнения отправной точки пользователя, возможность CoreLocation изменять координаты и частично адреса в удобные адресные отображения объектов на карте, используя свой класс CLGeocoder, будет иметь огромное значение для завершения первой части этого урока. Во второй части урока, вы будете конвертировать CLPlacemark, возвращенный из CLGeocoder в MKPlacemark, и, в свою очередь, конвертировать этот MKPlacemark в MKMapItem. Затем Вы сможете использовать MKMapItem для запуска MKDirectionsRequest который, наконец, возвратить данные MKRoute от Apple. Это может показаться сложным, но, к счастью для вас, ваша давно потерянная Сумасшедшая тетя Люси дала вам отличную мотивацию, чтобы начать! Охота на миллионы тети Люси После того, как вы целую жизнь верили, что тетя Люси это больше, чем миф, который ваши родители придумали, чтобы оградить вас от возможных последствий чрезмерного употребления наркотиков, неожиданно проложить маршрут между несколькими точками письмо по почте от проложить маршрут между несколькими точками легенды: Перевод: Простите великодушно за мое долгое отсутствие. Я много путешествовала по суше, морю и пространству, собирая сокровища мира- в том числе и зуб мудрости Лохнесского чудовища и большую коллекцию ногтей инопланетян. Вы будете соревноваться в короткой гонке по уборке мусора в лабиринтах нашего города и кто придет первый с трофеями, тот и получит долю моего наследства. Искренне ваша до подписания силы не имеет Тетушка Люси Ой-ой. Ты то известен, как вечно опаздывающий среди своих неприятно пунктуальных двоюродных братьев. Но это приложение станет вашем шансом, чтобы отомстить и забрать миллионы тети Люси себе! Получение текущего адреса с помощью CoreLocation В ViewController. В viewDidLoad, после того как вы установили делегата location менеджера, то вы явно просите разрешения на доступ местоположение пользователя, когда приложение используется. Этот сигнал больше не будет отображаться при последующем запуске приложения, как только пользователь выберет ответ. После активации системы определения местоположения, установите нужную точность определения местонахождения CLLocationManager, затем запросите текущее местоположение, используя. Получили уведомление с запросом на авторизацию? Это потому, что осталась еще одна вещь, о которой вам нужно позаботиться. Вы должны предоставить пользователю причину для вашего запроса. Оставьте Type как String. Теперь уведомление должно появиться, как и ожидалось: Нажмите Allow Разрешить. Теперь менеджер позиции location manager знает ваше местоположение в настоящее время. Далее создайте объект CLGeocoder для reverse geocode обратного геокода текущего CLLocationManager's CLLocation. Обратное геокодирование- процесс превращения координат location в читабельный адрес. Для большинства результатов геокодирования, этот массив будет содержать только один элемент; в редких случаях, одно location может возвратить несколько близлежащих местоположений. Вы также можете остановить обновление местоположения, если уже нашли подходящую метку. Теперь, когда вы нашли CLPlacemark, отображающую текущий адрес пользователя, вам нужно связать данные о местоположении с соответствующим текстовым полем. Чтобы проложить маршрут между несколькими точками это, используйте структуру кортежа для группировки нескольких значений в одно составное значение. Вы будете хранить MKMapItems не CLPlacemarks для местоположения пользователя, так как это тип объекта, который вы в конечном итоге будете проложить маршрут между несколькими точками для инициализации MKDirectionsRequest необходимого для расчета маршрута. Этот массив является структурой данных location, которая будет служить вам верой и правдой до конца этого урока. Это добавит отображение MKMapItem текущего местоположения пользователя в первый кортеж locationTuples. Внутри того же блока if let, добавьте следующее: self. Запустите ваше приложение на симуляторе. Обработка ввода значений пользователем через CoreLocation Продолжаем в ViewController. Вы можете использовать sender. К счастью, мы уже создали подкласс UITableView, для того чтобы позволить пользователю выбрать адрес из возвращенных CLPlacemarks. Между этой дорогой, той дорогой и какой-либо другой дорогой. Ехала обезьяна с хорьком. Обезьяна захотела на завтрак булочку с кунжутом. Эта дорога, та дорога, и какая-либо другая - так можно сказать о всех улицах в Лейк-Джексоне что достаточно смущает. Вы ищете сендвич на завтрак в ресторанчике, проезжая где-то между. Эта подсказка звучит очень похоже на песню "Pop! Идет Хорек " Pop! Goes the Weasel " эта мелодия часто бывает в коробочках с выпрыгивающими попрыгунчиками примеч. Печатаем "165 Oyster Creek Dr, Lake Jackson, TX"; появляется таблица и полный адрес в качестве опции: Что произойдет, когда вы выберите адрес? Пришло время это изменить. При выборе строки, содержащей адрес, вы хотите чтобы автоматически установленное соответствующее текстовое поле, содержало выбранный адрес, обновите массив locations, чтобы он содержал соответствующий MKMapItem и сделайте соответствующую кнопку Enter выделенной. Обновите текущее текстовое поле, чтобы оно содержало выбранный адрес. Создайте MKMapItem с placemark, соответствующей выбранной строке и связывающей MKMapItem с текущим текстовым полем в массиве mainViewController locationTuples. Выберите текущую кнопку Enter. Введите адрес в поле Stop 1 и нажмите Enter, затем выберите правильный адрес в таблице. Текстовое поле, массив кортежа, и кнопка Enter должна обновиться соответсвенно: Итак с ViewController. Осталось еще несколько нерешенных задач. Наконец, нужно подготовить приложение для перехода в DirectionsViewController, где вы будете рассчитывать маршрут с помощью переопределения нескольких методов класса NSSeguePerforming. Ну вот и все в ViewController. Теперь переключитесь на DirectionsViewController. Рассчитываем маршрут с MapKit Подсказка от тетушки Люси 2 Перевод: После ночи с Радербергером название пива и Рамштаймом. Мне нужно болеутоляющее, чтобы убить мою жажду. Вы найдете и того и другого либо на этом пути, либо на том. На углу есть немецкая пивнушка, которая называется Wurst Haus, где подают проложить маршрут между несколькими точками под названием Обездоливающее! Это по адресу 102 This Way Lake Jackson, TX. Установили requestsAlternateRoutes как true, чтобы извлечь все подходящие проложить маршрут между несколькими точками от источника к месту назначения. Установили тип транспорта для. Automobile для данного проложить маршрут между несколькими точками. Any также доступные MKDirectionsTransportTypes. Это даст вам самый быстрый маршрут между двумя точками. Вы проложить маршрут между несколькими точками пути к победе! Но вам все еще нужно рассчитать несколько маршрутов между несколькими точками. Вы можете сделать это рекурсивно. Добавили предполагаемое время в пути в параметр проложить маршрут между несколькими точками. В том же блоке else, вы должны будете построить маршрут на карте и показать направления в таблице. Но вам нужны некоторые вспомогательные функции для этого. Если график маршрута является первым слоем, устанавливает видимую область карты так, чтобы она была достаточно большой, чтобы соответствовать накладываемому слою с 10 дополнительными точками. Если график маршрута не является первым слоем, установите видимую область карты на объединенные новые и старые видимые области карты + 10 дополнительных точек. Маршрут появится на карте. Теперь вам нужно задать направления в DirectionsTable. Проложить маршрут между несколькими точками направления MKRoute DirectionsTable. Два String в каждом кортеже будут содержать начальный и конечный адреса сегмента, принадлежащего MKRoute, хранящегося в третьем индексе кортежа. Из этого массива steps, получите доступ к объекту MKRouteStep при индексе, соответствующему текущему ряду. Получите инструкции по маршруту step. Получите расстояние step и преобразуйте его из метров в мили с помощью miles расширения CLLocationDistance, включенного в DirectionsTableView. Установите метку для ячейки, чтобы показать инструкции маршрута шагов и расстояния. Теперь вы можете использовать методы в расширении UITableViewDelegate для заполнения заголовка каждого раздела с информацией о начальной точке отправления и сноски footer с информацией о конечной точке и общем маршруте. Форматируйте expectedTravelTime, проложить маршрут между несколькими точками formatted расширения NSTimeInterval. Установите метку ячейки, для того, чтобы показать конечный адрес, расстояние, и ожидаемое время в пути. Теперь вернемся к DirectionsViewController. Запустите приложение; введите адреса, нажмите Route It! Теперь нажмите еще раз Route it!. Если не принимать во внимание закрытые дороги или пробки, обратный маршрут должны быть быстрее! Для того, чтобы улучшить приложение в дальнейшем, попробуйте использовать различные типы транспорта и несколько текстовых полей для назначений; вместо того, чтобы вручную менять поля, выбирая лучший маршрут, попробуйте автоматическую перестановку проложить маршрут между несколькими точками и авто-расчет самого быстрого маршрута. Дальше, вы можете продолжить изучать наши туториалы по мере их появления, а также, параллельно читать перевод официальной. И, для более подробного изучения языка, вы можете пройти! Урок подготовил: Иван Акулов Чтобы сообщить об ошибке, нажмите кнопку "Отправить сообщение об ошибке". Также вы можете добавить свой комментарий.

  Комментарии к новости 
 Главная новость дня Главная новость дня 
Мультиварка филипс 3036 инструкция по применению
Расписание электричек тучкова москва
Хияр перевод с азербайджанского
Поздравление с новым годом анимационные открытки
Обувь на садоводе каталог
Воспитание мальчика 8 лет
Стихи про ксюшу пошлые
Инструкция молокоотсоса авент
Время варки риса в супе
 
 Эксклюзив Эксклюзив 
Банк втб 24 новосибирск адреса
Светлана берсанова уроки вязания
Водительская комиссия где пройти
Синоним слова стих
Склеровиш капли инструкция
Сонник разгадывание снов
Пролив шокальского на карте