Форум программистов, компьютерный форум CyberForum.ru

MapKit построение маршрута - Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS/iPhone Значения из dictionary http://www.cyberforum.ru/ios-dev/thread938232.html
Помогите. Все делаю по уроку в книге "пайлон д пайлон т программируем для iphone и ipad" . Все делаю как там. Работа со словарями (глава 5), приложение работает, запускается, но во втором представлении все поля пустые, хотя ключи указал. На первом контролере надписи к ячейкам страницы отображаются правильно. Получается дальше первого контролера, значения dictionary (ключи) не используются Как...
Программирование iOS/iPhone Взаимосвязь между ViewControll ерами Знаю, вопрос наверное часто возникает. Приложение с анкетными данными. На главном UITableView Controll имеется список сотрудников (имя и фамилия). При клике, происходит переход на View Controll. На контролере отображается список полей (статические ячейки) необходимых для заполнения, при выборе той или другой ячейки открывается соответствующее представление (View Controll), для ввода ФИО, даты... http://www.cyberforum.ru/ios-dev/thread937702.html
Проверка текста регулярными выражениями Программирование iOS/iPhone
Как реализовать проверку текста используя регулярные выражения? Для проверки например, того же email
Xamarin Xamarin & UIButton
Всем доброго времени суток. Вопрос состоит в том что у меня есть кнопка у нее два состояния InActive/Active. Когда она не активна на ней одна картинка, а когда активна другая?Активность изменяется нажатием как мне это сделать?я сегодня целый день мучался и никак не получилось(. Заранее спасибо за помощь)
Программирование iOS/iPhone Ошибка при Static Cells http://www.cyberforum.ru/ios-dev/thread937053.html
При попытке создания групп табличных полей (секций) в storyboard, использую статические ячейки. Ставлю значение Content в значение Static Cells, появляется ошибка "Illegal configuration. Static table view are only valid when embedded in UITableController instances" Почему нельзя использовать статические ячейки?
Программирование iOS/iPhone Вызов функции из MKStoreManager Привет, ребята. У меня такая аномалия. Вот код: if() { setBool:YES forKey:@"is1Monster"]; ; synchronize]; } if() { ; подробнее

Показать сообщение отдельно
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163

MapKit построение маршрута - Программирование iOS/iPhone

16.08.2013, 11:05. Просмотров 1413. Ответов 2
Метки (Все метки)

Hi, подскажите возможно как-то прикрутить построение маршрутов ?
Я пробывал исп google для получения координат, но при выводе маршрута он был не точен (чем больше расстояние - тем меньше точность).

Добавлено через 30 минут
Сам задал, сам ответил....
Проблема заключалась в том что когда я парсил результат от google directions
Пример одного из step:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
distance =                             {
                                text = "87 m";
                                value = 87;
                            };
                            duration =                             {
                                text = "1 min";
                                value = 12;
                            };
                            "end_location" =                             {
                                lat = "47.9910939";
                                lng = "37.7981615";
                            };
                            "html_instructions" = "Continue onto <b>\U043f\U0440\U043e\U0441\U043f. \U041f\U0430\U0432\U0448\U0438\U0445 \U041a\U043e\U043c\U043c\U0443\U043d\U0430\U0440\U043e\U0432/\U043f\U0440\U043e\U0441\U043f. \U041f\U043e\U043b\U0435\U0433\U043b\U0438\U0445 \U041a\U043e\U043c\U0443\U043d\U0430\U0440\U0456\U0432</b>";
                            polyline =                             {
                                points = "af|cHofueF[qBI{@Aq@";
                            };
                            "start_location" =                             {
                                lat = "47.990894";
                                lng = "37.797035";
                            };
                            "travel_mode" = DRIVING;
я брал координаты точек из end_location и start_location... точек выдавало довольно мало - маршрут был ОЧЕНЬ не точен и "съезжал" с дорог. Для более точного построения маршрутов требуется использовать значения polyline. Для декодирования исп готовую категорию

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@implementation MKPolyline (MKPolyline_EncodedString)
 
+ (MKPolyline *)polylineWithEncodedString:(NSString *)encodedString {
    const char *bytes = [encodedString UTF8String];
    NSUInteger length = [encodedString lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
    NSUInteger idx = 0;
 
    NSUInteger count = length / 4;
    CLLocationCoordinate2D *coords = calloc(count, sizeof(CLLocationCoordinate2D));
    NSUInteger coordIdx = 0;
 
    float latitude = 0;
    float longitude = 0;
    while (idx < length) {
        char byte = 0;
        int res = 0;
        char shift = 0;
 
        do {
            byte = bytes[idx++] - 63;
            res |= (byte & 0x1F) << shift;
            shift += 5;
        } while (byte >= 0x20);
 
        float deltaLat = ((res & 1) ? ~(res >> 1) : (res >> 1));
        latitude += deltaLat;
 
        shift = 0;
        res = 0;
 
        do {
            byte = bytes[idx++] - 0x3F;
            res |= (byte & 0x1F) << shift;
            shift += 5;
        } while (byte >= 0x20);
 
        float deltaLon = ((res & 1) ? ~(res >> 1) : (res >> 1));
        longitude += deltaLon;
 
        float finalLat = latitude * 1E-5;
        float finalLon = longitude * 1E-5;
 
        CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(finalLat, finalLon);
        coords[coordIdx++] = coord;
 
        if (coordIdx == count) {
            NSUInteger newCount = count + 10;
            coords = realloc(coords, newCount * sizeof(CLLocationCoordinate2D));
            count = newCount;
        }
    }
 
    MKPolyline *polyline = [MKPolyline polylineWithCoordinates:coords count:coordIdx];
    free(coords);
 
    return polyline;
}
 
@end
Может кому нибудь поможет...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru