首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uber/react-map-gl getMap和公开的Mapbox API

uber/react-map-gl getMap和公开的Mapbox API
EN

Stack Overflow用户
提问于 2018-11-23 15:33:55
回答 2查看 1.9K关注 0票数 1

我正在使用以下代码片段尝试使用mapbox-gl v0.50.0从uber react-map-gl: 4.0.2访问MapBox应用程序接口。

代码语言:javascript
复制
 import MapGL from 'react-map-gl';
 export default class App extends Component 
 {
   constructor(props) {
    super(props);
   this.mapRef= React.createRef();
   }
   componentDidMount() 
   {
      let data = this.mapRef.getMap().getBounds(); <----
   } 
   render() {
    <MapGL
    {...viewport}
    width="100%"
    height="100%"
    mapStyle={MapStyle}
    onViewportChange={this._updateViewport}
    ref={map => this.mapRef = map}
    mapboxApiAccessToken={TOKEN} >
   }
 }

如果我尝试访问任何其他方法,如getStyle/getSource和其他方法,则会出现错误“不是函数”&“无法读取未定义的属性‘版本’”。我做错了什么吗?或者不是所有的MapBox Api方法都可以通过getMap()方法使用?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-12-08 08:04:31

如果您可以正确获取map对象,那么包括getStyle在内的所有函数都应该被公开。getSource对我也不起作用,可能是使用mapStyle不算源代码吧?不确定最后这一点。

票数 0
EN

Stack Overflow用户

发布于 2018-12-09 00:48:31

我用它来获得初始的地图边界。

代码语言:javascript
复制
    getMapBoundaries = () => {
    // Get map boundaries
    const myMap = this.mapRef.getMap(); 
    console.log(myMap.getBounds());
    const mapBoundaries = myMap.getBounds();
    this.setState({ mapBoundaries })
  }

  componentDidMount = () => this.getMapBoundaries();

我还注意到'react-map-gl‘的导入应该是

代码语言:javascript
复制
import ReactMapGL from 'react-map-gl';

为什么会出现这个错误?您似乎没有在componentDidMount方法中使用返回函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53442394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档