arcgis for js api学习之esri-loader将地图显示转为中文

本次记录使用的是vue2.0使用esri-loader加载地图,并将英文转为中文。

由于国内地图服务一些高级功能或访问量多的时候基本都是收费的,arcgis相对收费功能较少,而且访问量上计较宽松,公司为了节约成本所以选择使用arcgis作为地图服务。

而在国内使用,arcgis for js api加载的地图默认是英文,对国内用户不太友好,曾在百度 google搜索了一圈发现将arcgis地图的英文转为中文的教程非常少,也可能是国内使用arcgis作为地图服务的较少,所以将本次学习记录分享,欢迎大家交流。

直接上代码:

      // 这是我的本地arcgis服务,也可以使用arcgis的官方外网地图服务
      setDefaultOptions({url: 'http://localhost:9001/arcgis/4.30/init.js'})
      loadCss('http://localhost:9001/arcgis/4.30/esri/themes/light/main.css')
      let option = {
        css: true
      }
      loadModules(["esri/config",
      "esri/Map", 
      "esri/views/MapView",
      "esri/layers/VectorTileLayer"], option).then(([esriConfig, Map, MapView, VectorTileLayer]) => {
        // 这是你申请的arcgis账户授权的apiKey,目前不支持未授权访问
        esriConfig.apiKey = "你的apiKey";
        // 这是将地图转为中文的关键api,目前没有研究到可以访问的本地api(也许因为需要apiKey可能不支持本地服务api),如果有知道本地服务api的欢迎在评论区指出,感谢!
        const allPlaces = `https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/arcgis/streets?places=all&token=${esriConfig.apiKey}`;
        const vtl = new VectorTileLayer({
          style: allPlaces,
        })
        let map = new Map({
          basemap: {
            baseLayers: [vtl],
            style: {
              id: "arcgis/streets",
              language: "zh-CN"//这个指定语言配置也需要加上
            }
          }
        });
        let view = new MapView({
          container: "mapview",
          map: map,
          zoom: 16,
          center: [108.36726665494332, 22.815650637650638]
        });

以上是转化中文的成功案例,有更好的方法也欢迎大家交流分享!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值