1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiao66guo-XGMapRelatedOperations

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

XGMapRelatedOperations

Функции проекта:

  1. Отслеживание и определение местоположения пользователя.
  2. Реализация различных режимов отображения карт от компании «高德» («Gaode»).
  3. Увеличение и уменьшение масштаба карты с использованием координат широты и долготы и коэффициента масштабирования.
  4. Настройка пользовательских меток на карте.
  5. Возвращение к исходному местоположению пользователя в анимированном режиме.
  6. Переход в режим аэрофотосъёмки при нажатии кнопки «航拍».
  7. Интеграция функции распознавания речи «讯飞语音» для ввода данных пользователем (также поддерживается ручной ввод).
  8. Построение маршрута между текущим местоположением пользователя и введённым адресом при нажатии на кнопку «导航». Повторное нажатие на кнопки «导航» или «语音输入» стирает предыдущий маршрут.

Изменения: 9. Добавлена страница просмотра деталей маршрута и отображения расстояния.

2016/11/23

  1. Исправлен баг, возникавший при нажатии на кнопку уменьшения масштаба карты.

Код для построения навигационного маршрута:

-(void)startNav{

if (nil != _polyLineMutable) {
    [_map removeOverlays:_polyLineMutable];
    [_polyLineMutable removeAllObjects];
}
[_addressField resignFirstResponder];
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
request.source = [MKMapItem mapItemForCurrentLocation];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:_addressField.text completionHandler:^(NSArray<clplacemark *=""> * _Nullable placemarks, NSError * _Nullable error) {

    if (placemarks.count == 0 || error) {
        return ;
    }
    CLPlacemark *clPm = placemarks.lastObject;
    MKPlacemark *pm = [[MKPlacemark alloc] initWithPlacemark:clPm];
    request.destination = [[MKMapItem alloc] initWithPlacemark:pm];
    MKDirections *direction = [[MKDirections alloc] initWithRequest:request];
    [direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
        for (MKRoute *route in response.routes) {
            for (MKRouteStep *step in route.steps) {
                NSLog(@"%@", step.instructions);
            }
            [_map addOverlay:route.polyline];
            [_polyLineMutable addObject:route.polyline];
        }
    }];
}];
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Использование различных режимов отображения карты, а также других специфических свойств, отслеживание и определение местоположения пользователя, интеграция ввода голосовых сообщений от WeChat и реализация функций рисования и удаления линий, а также увеличения и уменьшения масштаба карты. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xiao66guo-XGMapRelatedOperations.git
git@api.gitlife.ru:oschina-mirror/xiao66guo-XGMapRelatedOperations.git
oschina-mirror
xiao66guo-XGMapRelatedOperations
xiao66guo-XGMapRelatedOperations
master