【问题标题】:I can't get esri-leaflet to work with ReactJS --> basemapLayer of undefined我无法让 esri-leaflet 与 ReactJS 一起工作——>未定义的 basemapLayer
【发布时间】:2016-11-24 19:40:33
【问题描述】:

npm 安装esri-leafletleaflet 包后,出现以下错误

这是我的地图组件:

import React from 'react'
import ReactDOM , {render} from 'react-don'

import L from 'esri-leaflet'
// import L from 'leaflet'     <-- won't work as well


class Map extends React.Component{

    componentDidMount(){

        let element = this.refs.mapRef

        // let map = L.map(element).setView([-41.2858, 174.78682], 14);
        var map = L.map(this.refs.mapRef).setView([45.528, -122.680], 13)

        L.esri.basemapLayer("Streets").addTo(map);

        console.log("ESRI::",L.esri);

        var parks = L.esri.featureLayer({
            url: "https://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/services/Portland_Parks/FeatureServer/0",
            style: function() {
             return {
                 color: "#70ca49",
                 weight: 2
             };
            }
        }).addTo(map);
    }


    render(){
        return(
            <div>
                <h1>Maps page</h1>
                <div id='map' ref="mapRef" style={{height: "380px"}}></div>
            </div>
        )
    }

}

export default Map

可能是什么问题?

【问题讨论】:

  • 如果在main.html中使用CDN链接,L是全局的。无需导入。导入由 Browserify 或 WebPack 处理,有时会出现问题。
  • 是的,我知道,我尝试了两种方法,但仍然遇到同样的问题
  • 我尝试使用 ArcGIS 进行交叉分配。我使用 JavaScript API 完成了作业。 developers.arcgis.com/javascript/latest/sample-code/…

标签: javascript reactjs leaflet esri esri-leaflet


【解决方案1】:

使用npm i leaflet@1.0.0-rc.1 命令安装leaflet1.0.0-rc.1 版本,esri-leaflet 不需要指定版本,因此只需npm i esri-leaflet。以下是您对组件的要求:

require('leaflet');
import esri from 'esri-leaflet';

然后通过esri 使用图层,它应该可以工作:

esri.basemapLayer...
esri.featureLayer...

【讨论】:

  • 其实你是对的,我以为我已经安装了最新版本,结果不是。我按照您的说法安装了传单,并按照您的说法导入了 ESRI,地图出现了!谢谢......我给你赏金:)
  • 最后一个问题:要设置地图位置,我使用这个:var map = L.map(this.refs.mapRef).setView([41.528, 30.680], 3) 但它会抛出这个错误:Uncaught Error: Invalid LatLng object: (NaN, NaN) .. 为什么会这样?
猜你喜欢
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
相关资源
最近更新 更多