Я использую API MapBox для создания карты c с наложением. Для оверлея я передаю geo json в своем URL-адресе запроса:
FeatureCollection featureCollection = null;
try {
InputStream inputStream = this.getAssets().open("track_points.geojson");
String stringJson = convertStreamToString(inputStream);
featureCollection = FeatureCollection.fromJson(stringJson);
} catch (Exception exception) {
Timber.e("Exception Loading GeoJSON: %s" , exception.toString());
}
MapboxStaticMap mapboxStaticMap = MapboxStaticMap.builder()
.accessToken(myToken)
.width(700)
.height(500)
.retina(true)
.cameraAuto(true)
.geoJson(featureCollection)
.build();
Он отлично работает ... НО есть ограничение:
Наложения не могут состоять из более 100 функций. Максимальная длина наложения составляет 2083 символа.
, как описано в документации: https://docs.mapbox.com/android/java/overview/static-image/
Я пытался уменьшить geo json с помощью алгоритмов, кратных нескольким, но это все еще для большого. Я говорю о файле geo json из 1717709 символов. Лучшее, что я сделал, это минимизировал его до 37 133, но с небольшой потерей аккреции. Невозможно уменьшить его до 2083 символов ...
И я знаю, что это возможно, потому что это сделал Страва. Посмотрите на эту активность стравы: Трек (geo json), который я пытаюсь показать, точно такой же, я сделал отрывок из Стравы. Как вы можете видеть в левом нижнем углу, это написано «MapBox OpenStreetMap». И это карта stati c, потому что я не могу играть с ней
У кого-то есть идея? Спасибо за чтение:)
Извините за мой английский sh, Томас