Пользовательский стиль карты в react-native-maps не отображается, возвращается к базовому / стандартному стилю карты

Работаю над приложением ReactNative и пытаюсь изменить стиль карты.

Я следую инструкциям на странице "https://github.com/react-native-community/react-native-maps ".

Для IOS в документации предлагается следующее.

I.e:

1) Добавление mapStyle = [JSON, генерируемый из https://mapstyle.withgoogle.com/provided.

2) Импорт PROVIDER_GOOGLE

3) Добавление свойств customMapStyle и provider (см. Ниже)

Однако, несмотря на то, что я вручную проверил JSON (а именно, что все цвета - черный и серый, в соответствии с настраиваемой картой, которую я хочу), визуализированная карта все еще выходит в стандартном синем и зеленом цветах?

Как ни странно, мои маркеры меняются с контактов на какие-то контакты, похожие на Android, так что что-то происходит.

Любые идеи приветствуются.

Спасибо

import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'

MapStyle = [ ... ]

render() {
  return (
    <MapView
      region={this.state.region}
      onRegionChange={this.onRegionChange}
      provider={PROVIDER_GOOGLE}
      customMapStyle={MapStyle}
    />
  );
}

person David Pears    schedule 16.01.2019    source источник
comment
Есть ли у вас какое-либо решение этой проблемы?   -  person Sahil Jaidka    schedule 15.08.2020


Ответы (2)


Я сделал ту же ошибку, получив стили из локального файла json, и это не сработало. Вот как можно обойтись - сохраните стили json в var и передайте их customMapStyle. Прочтите: Пользовательские стили карт Google в React Native - medium.com

person Rahul    schedule 05.11.2020

Сначала перейдите на официальную сторону, то есть https://mapstyle.withgoogle.com/ и получите json для своего стиля. значение и скопируйте в необработанную папку в ресурсах

А затем примените к своему onMapready () следующим образом

MapStyleOptions mapStyleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.style_json);
mGoogleMap.setMapStyle(mapStyleOptions);
person ser fiy    schedule 21.01.2021