проблема с iphone NSString - PullRequest
       7

проблема с iphone NSString

2 голосов
/ 28 сентября 2011

У меня есть приложение для iphone, в котором я хочу нарисовать маршрут между двумя точками на карте.Места обозначаются по их координатам (широта, долгота).

Для загрузки путевых точек между этими двумя точками я использую скрипт, который обращается к картам Google, с помощью этого метода:

function loadDirections(from, to, options) {
        gdir.load("from: " + from + " to: " + to, options);
    }

from должно иметь такую ​​форму: 46.777248,23.59989 и to также так: 44.437711,26.097367.

Другими словами, если я напишу этот метод так:

   function loadDirections(from, to, options) {

        gdir.load("from:46.777248,23.59989 to:44.437711,26.097367 ", options);
    }

всеидет отлично.

Теперь, зайдя в мое приложение для iPhone ... вот как я называю этот метод:

[directions loadWithStartPoint:startPoint endPoint:endPoint options:options];

- (void)loadWithStartPoint:(NSString *)startPoint endPoint:(NSString *)endPoint options:(UICGDirectionsOptions *)options {
    [googleMapsAPI stringByEvaluatingJavaScriptFromString:
     [NSString stringWithFormat:@"loadDirections('%@', '%@', %@)", startPoint, endPoint, [options JSONRepresentation]]];
}

Другими словами, startPoint должен содержать координаты первого местоположения следующим образом:

46.777248,23.59989 и endPoint должны иметь одинаковую форму.

Так что в моем приложении для iphone я получаю широту идолгота для startPoint, а также для endPoint и для того, чтобы они были в запрошенной форме, у меня есть это:

    NSString *startPoint;
        NSString *endPoint;

startPoint = [NSString stringWithFormat:@"%@,%@", latitudeString, longitudeString];
endPoint = [NSString stringWithFormat:@"%@,%@", partenaire_lat, partenaire_lng];

Но когда я вызываю javascript через этот

options.travelMode = UICGTravelModeDriving;
    [directions loadWithStartPoint:startPoint endPoint:endPoint options:options];

блоки приложения. Я предполагаю, что не нравится, как startPoint и endPoint отформатированы.

ВАЖНО: Когда я вызываю вышеуказанный метод со значениями null для startPoint и endPoint, приложение работает.

У кого-нибудь есть идеи?Я сделал все возможное, чтобы объяснить это очень четко !!!!! Я здесь на случай, если что-то неясно!

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Я думаю, что это может решить вашу проблему,

NSString * startPoint;NSString * endPoint;

startPoint = [NSString stringWithFormat: @ "% @,% @", latitudeString, longitudeString];endPoint = [NSString stringWithFormat: @ "% @,% @", partenaire_lat, partenaire_lng];

[сохранение начальной точки];[endPoint retain];

0 голосов
/ 28 сентября 2011

Я думаю, это потому, что вы добавляете одинарные кавычки вокруг координат. Они сохраняются при объединении строк в вашей функции loadDirections (при условии, что это функция javascript).

Кроме того, у вас есть пробел после: и до: в вашем loadDirections не знаю, важно ли это.

Попробуйте

- (void)loadWithStartPoint:(NSString *)startPoint endPoint:(NSString *)endPoint options:(UICGDirectionsOptions *)options {
    [googleMapsAPI stringByEvaluatingJavaScriptFromString:
     [NSString stringWithFormat:@"loadDirections(%@, %@, %@)", startPoint, endPoint, [options JSONRepresentation]]];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...