【问题标题】:react google maps node module map style loads empty object, not json反应谷歌地图节点模块地图样式加载空对象,而不是json
【发布时间】:2016-06-05 14:28:27
【问题描述】:

我正在尝试让 react-google-maps 节点模块加载地图样式的 json 文件。控制台日志显示它正在查找 json 文件并加载它,但我从 require() 获得的值是一个空对象,仅加载了 getter 和 setter 函数。

像这样:

    var mapStyle = require('./darkMapStyle.json');
    // compiles down using webpack
    var mapStyle = __webpack_require__(428);

    mapStyle = {
    __defineGetter__: __defineGetter__()
    __defineSetter__: __defineSetter__()
    __lookupGetter__: __lookupGetter__()
    __lookupSetter__: __lookupSetter__()
    constructor: Object()
    hasOwnProperty: hasOwnProperty()
    isPrototypeOf: isPrototypeOf()
    propertyIsEnumerable: propertyIsEnumerable()
    toLocaleString: toLocaleString()
    toString: toString()
    valueOf: valueOf()
    get __proto__: get __proto__()
    set __proto__: set __proto__()
    }

    // load my google map in the render()
    <GoogleMapLoader    
        loadingElement={<div>loading</div>}
        containerElement={
            <div {...this.props} style={{height: "100%",}}/>
        }
        googleMapElement={
           <GoogleMap
               defaultZoom={results.mapZoom}
               defaultCenter={{lat: 37.400343, lng: -122.110043}}
               defaultOptions={{styles: mapStyle}}
               onClick={this.handleMapClick}>         
           </GoogleMap>
         }
     />

我使用 require 导入的所有其他模块都按预期运行,但 mapStyle 没有提供我在 json 文件中的 json 数据。

我按照这个例子来做到这一点: http://tomchentw.github.io/react-google-maps/#/basics/styled-map?_k=nd5q0e

感谢任何帮助

【问题讨论】:

    标签: javascript json google-maps reactjs


    【解决方案1】:

    如果有人遇到这种类似情况,我已经找到了解决此问题的有效解决方案。

    我在一个单独的文件中创建了一个函数,该函数保存了它作为对象(而不是 json 字符串)返回的 json。

    我将这个返回的 json 赋值给我的 render() 中的一个变量

    var mapStyle = getData.getDarkMapStyle();
    

    然后我将此变量分配给我的 googlemap 标签,如下所示:

    <GoogleMap
         defaultOptions={{styles: mapStyle}}>
    </GoogleMap>
    

    只是不通过 require() 检索 json 对象,而是一个函数调用解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 2015-09-03
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 2018-05-18
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多