Как добавить более 20 забаненных территорий в HERE Maps для маршрутизации iOS? - PullRequest
0 голосов
/ 25 апреля 2019

Я тестирую добавление набора запрещенных зон к моему маршруту через ЗДЕСЬ iOS SDK.(Я использую iOS Premium SDK).Однако я заметил, что после 20 вызовов AddBannedArea вся дополнительная информация отбрасывается.Есть ли жесткое ограничение на количество забаненных территорий?Если так, как бы я добавил больше?

Вот фрагмент кода тестирования, который я использовал.В 19 последний геополигон все еще распознается и его избегают при маршрутизации.Однако, если я увеличу цикл до 20, последний геополигон и все последующие геополигоны игнорируются.

NMADynamicPenalty *penalty = [[NMADynamicPenalty alloc] init];
for (int w = 0; w < 19; w++){
      float latitude = 29 + (w / 5) + (arc4random_uniform(100) / 100.0);
      float longitude = -66 - w - (arc4random_uniform(100) / 100.0);
      NMAGeoCoordinates *topRight = [[NMAGeoCoordinates alloc] initWithLatitude:latitude longitude:longitude];
      NMAGeoCoordinates *topLeft = [[NMAGeoCoordinates alloc] initWithLatitude:latitude longitude:(longitude - 0.25)];
      NMAGeoCoordinates *bottomRight = [[NMAGeoCoordinates alloc] initWithLatitude:(latitude - 0.25) longitude:longitude];
      NMAGeoCoordinates *bottomLeft = [[NMAGeoCoordinates alloc] initWithLatitude:(latitude - 0.25) longitude:(longitude - 0.25)];
      NMAGeoPolygon *polygon = [[NMAGeoPolygon alloc] init];
      [polygon addPoint:topRight];
      [polygon addPoint:topLeft];
      [polygon addPoint:bottomLeft];
      [polygon addPoint: bottomRight];
      NMAMapPolygon *mapPolyGon = [[NMAMapPolygon alloc] initWithPolygon:polygon];
      [penalty addBannedArea:mapPolyGon];
    }
    NMAGeoCoordinates *topRight = [[NMAGeoCoordinates alloc] initWithLatitude:40.147209 longitude:-74.648863];
    NMAGeoCoordinates *topLeft = [[NMAGeoCoordinates alloc] initWithLatitude:40.145059 longitude:-74.726632];
    NMAGeoCoordinates *bottomRight = [[NMAGeoCoordinates alloc] initWithLatitude:40.074601 longitude:-74.649898];
    NMAGeoCoordinates *bottomLeft = [[NMAGeoCoordinates alloc] initWithLatitude:40.079852 longitude:-74.735551];
    NMAGeoPolygon *polygon = [[NMAGeoPolygon alloc] init];
    [polygon addPoint:topRight];
    [polygon addPoint:topLeft];
    [polygon addPoint:bottomLeft];
    [polygon addPoint: bottomRight];
    NMAMapPolygon *mapPolyGon = [[NMAMapPolygon alloc] initWithPolygon:polygon];
    [penalty addBannedArea:mapPolyGon];

РЕДАКТИРОВАТЬ: ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Я направляюсь из Дувра (широта: 39,1582, длинна: ​​-75,5244) в Нью-Йорк (широта: 40,7128, длинна: ​​74,0060).

Я установил 19 случайных запрещенных областей и одну область запрета на тестирование с блоком, состоящим из

    NMAGeoCoordinates *topRight = [[NMAGeoCoordinates alloc] initWithLatitude:40.147209 longitude:-74.648863];
    NMAGeoCoordinates *topLeft = [[NMAGeoCoordinates alloc] initWithLatitude:40.145059 longitude:-74.726632];
    NMAGeoCoordinates *bottomRight = [[NMAGeoCoordinates alloc] initWithLatitude:40.074601 longitude:-74.649898];
    NMAGeoCoordinates *bottomLeft = [[NMAGeoCoordinates alloc] initWithLatitude:40.079852 longitude:-74.735551];

. Этот блок создает и область к северу от TWP Мэнсфилда на I-97.

Если до 20 лет, тогда я получу правильный уклонение от этого

Under 20 bannedAreas

Однако, более 20, поэтому установка контура на 21+, и точка полностью игнорируется, в результате чего.

Over 20

1 Ответ

0 голосов
/ 17 мая 2019

SDK не поддерживает более 20 запрещенных областей в запросе маршрута.Документация будет обновлена ​​в следующем выпуске.

...