不渲染的本机地图中的自定义地图样式将恢复为基本/标准地图样式



在ReactNative应用程序上工作,我正在尝试编辑地图样式。

我正在按照"https://github.com/react-native-community/react-native-maps"上的说明进行操作。

对于IOS,文档建议如下。

即:

1) 添加一个 mapStyle = [从 https://mapstyle.withgoogle.com/生成的 JSON]。

2) 导入PROVIDER_GOOGLE

3)添加"customMapStyle"和"provider"道具(见下文)

但是,即使我已经手动检查了 JSON(即根据我想要的自定义地图,颜色都是黑色和灰色),渲染的地图仍然以标准的蓝色和绿色出现?

奇怪的是,我的标记正在从别针变成一些看起来像机器人的别针,所以发生了一些事情。

欢迎任何想法。

谢谢

import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'
MapStyle = [ ... ]
render() {
  return (
    <MapView
      region={this.state.region}
      onRegionChange={this.onRegionChange}
      provider={PROVIDER_GOOGLE}
      customMapStyle={MapStyle}
    />
  );
}

我犯了同样的错误,从本地json文件中获取样式,但它不起作用。这是一个解决方法 - 将 json 样式保存在var中并将其传递给 customMapStyle 。阅读 : React Native 中的自定义谷歌地图样式 - medium.com

自定义样式对我不起作用的原因是 JSON 的参数过时,因此地图默认为默认主题。正如 ser fiy 指出的那样,请确保从

https://mapstyle.withgoogle.com/

首先进入官方方面,即 https://mapstyle.withgoogle.com/并获取样式值的 json 并复制到资源中的原始文件夹

然后像这样在你的 onMapready() 上应用

MapStyleOptions mapStyleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.style_json);
mGoogleMap.setMapStyle(mapStyleOptions);

最新更新