默认情况下,如何加载设置为用户位置的经度和纬度的React-map-gl?

问题描述

我想使用认视口值设置为用户位置来渲染地图。目前,下面的代码用于普通渲染,单击时,在地图上有“定位我”按钮。 有没有办法让它认点击?

<ReactMapGL
    mapBoxApiAccesstoken={mapBoxApiKey}
    mapStyle="mapBox://styles/mapBox/streets-v11"
    {...viewport}
    {...mapStyle}
     onViewportChange={this.handle_view}
    >
    <GeolocateControl
      positionoptions={{ enableHighAccuracy: true }}
      trackUserLocation={true}
    />
</ReactMapGL>

解决方法

遵循以下答案:https://stackoverflow.com/a/59870917/14403123

 useEffect(() => {
    navigator.geolocation.getCurrentPosition(pos => {
      setViewport({
        ...viewport,latitude: pos.coords.latitude,longitude: pos.coords.longitude
      });
    });
  },[]);

显示完整代码:https://codesandbox.io/s/intelligent-albattani-f596t?file=/src/App.js的codesandbox。但是,由于我缺少令牌,它不会显示地图。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...