高德地图JS API,数据可视化,地图3D效果

 地图侧边高度,3D效果如下:

Vue3代码:

<template>
  <div id="amapcontainer"></div>
</template>
//<script setup>
import AMapLoader from "@amap/amap-jsapi-loader";
import { shallowRef } from "@vue/reactivity";
import { onMounted } from "vue";
window._AMapSecurityConfig = {
  securityJsCode: "申请的安全密钥", 
};
var map = shallowRef(null);
var mapZoom = ref(4.6);
var initAMap = () => {
  var opts = {
    subdistrict: 0,
    extensions: "all",
    level: "city",
  };
  AMapLoader.load({
    key: "MyKey", // 申请好的Web端开发者Key,首次调用 load 时必填
    version: "1.4.15", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    plugins: [
      "AMap.Marker",
      "AMap.DistrictSearch",
      "AMap.Object3DLayer",
      "AMap.Object3D",
      "AMap.Icon",
      "AMap.MassMarks",
      // "AMap.createDefaultLayer",
    ], // 需要使用的的插件列表
  })
    .then((AMap) => {
      console.log(mapZoom.value);
      var district = new AMap.DistrictSearch(opts);

      district.search("中华人民共和国", function (status, result) {
        var bounds = result.districtList[0].boundaries;
        var mask = [];
        for (var i = 0; i < bounds.length; i += 1) {
          mask.push([bounds[i]]);
        }
        map = new AMap.Map("amapcontainer", {
          mask: mask,
          center: [102.602725, 34.076636],
          disableSocket: true,
          viewMode: "3D",
          showLabel: false,
          labelzIndex: 130,
          pitch: 30,
          zoom: mapZoom.value,
          zoomEnable: false, // 地图是否可缩放,默认值为true
          dragEnable: false, // 地图是否可通过鼠标拖拽平移,默认为true
          doubleClickZoom: false, // 地图是否可通过双击鼠标放大地图,默认为true
          mapStyle: "amap://styles/55f37ba6680ac192dd377715cfeeeb1f",
        });
        //添加高度面
        var object3Dlayer = new AMap.Object3DLayer({ zIndex: 1 });
        map.add(object3Dlayer);
        var height = -1300000;
        var color = "#0088ffcc"; //rgba
        var wall = new AMap.Object3D.Wall({
          path: bounds,
          height: height,
          color: color,
        });
        wall.transparent = true;
        object3Dlayer.add(wall);
        //添加国家边界描边
        for (var i = 0; i < bounds.length; i += 1) {
          new AMap.Polyline({
            path: bounds[i],
            strokeColor: "#8EECFF",
            strokeWeight: 4,
            map: map,
          });
        }

      });
    })
    .catch((e) => {
      console.log(e);
    });
};
onMounted(() => {
  initAMap();
});
//</script>

 注意版本,2.0没有Object3DLayer插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现JS高德地图API的驾车动画效果,你可以使用以下步骤: 1. 首先,在页面中引入高德地图JS API的脚本以及所需的插件和组件库。在引入脚本时,需要提供你申请的地图API key和安全密钥。安全密钥可以在设置高德地图JS API安全密钥的代码中设置。 2. 然后,根据你的需求,创建一个地图容器并初始化地图。你可以使用AMap.Map类来创建地图对象,并将其绑定到指定的HTML元素上。 3. 接下来,你需要使用AMap.Driving类来创建驾车路线规划对象。通过设置起点和终点,可以获取到一条驾车路线。 4. 创建一个Marker对象,并将其添加到地图上,表示起点位置。 5. 创建一个AMap.MarkerClusterer对象,用于聚合驾车路线上的所有标记点,以便显示更简洁的效果。 6. 使用AMap.Marker的setAnimation方法,可以给起点Marker添加动画效果,使其沿着驾车路线移动。 7. 最后,你可以根据需要设置动画的速度、播放顺序等参数,以实现自定义的驾车动画效果。 需要注意的是,加载专题数据时使用的是LOCA数据可视化API,而AMap UI对应的是高德地图API 2.0,两者不兼容。所以,直接设置图层是无法实现驾车动画效果的。 你可以参考高德地图官方文档中的示例代码和效果图,进行具体的实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【学习记录】使用高德地图API开发一个简单基础的WebGIS系统(GIS考研院校专题地图网站)](https://blog.csdn.net/weixin_46346674/article/details/128556741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [高德地图-绘制路线](https://blog.csdn.net/qq_36166448/article/details/89470952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值