vue 高德地图 西湖区 点标记 002

冷不防 2023-06-19 02:53 40阅读 0赞

效果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODQwNDg5OQ_size_16_color_FFFFFF_t_70

index.html中 引入amap

  1. <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
  2. <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=你的key&plugin=AMap.Object3DLayer,AMap.DistrictSearch,AMap.Polygon"></script>
  3. <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>

如果报错找不到Amap,在webpack.base.conf.js 下面加入:

  1. module.exports = {
  2. externals: {
  3. 'AMap': 'AMap',
  4. 'AMapUI': 'AMapUI',
  5. },
  6. }

代码:

  1. <template>
  2. <div id="app">
  3. <div id='container'></div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: 'test',
  9. data () {
  10. return {
  11. map: null,
  12. }
  13. },
  14. mounted () {
  15. this.getmap()
  16. // var windowsArr = [];
  17. // var marker = [];
  18. // var map = new AMap.Map("container", {
  19. // resizeEnable: true,
  20. // center: [120.211877, 30.255194],//地图中心点
  21. // zoom: 13,//地图显示的缩放级别
  22. // keyboardEnable: false,
  23. // showIndoorMap: false, // 是否在有矢量底图的时候自动展示室内地图,PC默认true,移动端默认false
  24. // resizeEnable: true, //是否监控地图容器尺寸变化,默认值为false
  25. // dragEnable: false, // 地图是否可通过鼠标拖拽平移,默认为true
  26. // keyboardEnable: false, //地图是否可通过键盘控制,默认为true
  27. // doubleClickZoom: true, // 地图是否可通过双击鼠标放大地图,默认为true
  28. // zoomEnable: false, //地图是否可缩放,默认值为true
  29. // rotateEnable: false, // 地图是否可旋转,3D视图默认为true,2D视图默认false
  30. // resizeEnable: true,
  31. // });
  32. },
  33. methods:{
  34. getmap(){
  35. var map = new AMap.Map('container', {
  36. zoom: 11.3,
  37. center:[120.130203,30.2],
  38. rotateEnable: false, //地图是否可旋转
  39. zoomEnable: false, //地图是否可缩放
  40. doubleClickZoom:false, //是否双击可放大
  41. // showLabel:false,
  42. dragEnable: false,
  43. // labelzIndex:130,
  44. // pitch:0,
  45. });
  46. //遮罩背景
  47. new AMap.DistrictSearch({
  48. extensions:'all',
  49. subdistrict:0
  50. }).search('西湖区',function(status,result){
  51. // 外多边形坐标数组和内多边形坐标数组
  52. var outer = [
  53. new AMap.LngLat(-360,90,true),
  54. new AMap.LngLat(-360,-90,true),
  55. new AMap.LngLat(360,-90,true),
  56. new AMap.LngLat(360,90,true),
  57. ];
  58. var holes = result.districtList[0].boundaries
  59. var pathArray = [
  60. outer
  61. ];
  62. pathArray.push.apply(pathArray,holes)
  63. var polygon = new AMap.Polygon({
  64. pathL:pathArray,
  65. //线条颜色,使用16进制颜色代码赋值。默认值为#006600
  66. strokeColor: '#409EFF',
  67. strokeWeight: 4,
  68. //轮廓线透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
  69. strokeOpacity:0.5,
  70. //多边形填充颜色,使用16进制颜色代码赋值,如:#FFAA00
  71. fillColor: 'rgba(0,0,0)',
  72. //多边形填充透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
  73. fillOpacity: 1,
  74. //轮廓线样式,实线:solid,虚线:dashed
  75. strokeStyle:'solid',
  76. /*勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在
  77. ie9+浏览器有效 取值:
  78. 实线:[0,0,0]
  79. 虚线:[10,10] ,[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线
  80. 点画线:[10,2,10], [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实
  81. 线和10个像素的空白 (如此反复)组成的虚线*/
  82. strokeDasharray:[10,2,10]
  83. });
  84. polygon.setPath(pathArray);
  85. map.add(polygon);
  86. })
  87. //点标记
  88. var markers = [];
  89. var positions = [[120.130203,30.259324],[120.130203,30.235],[120.098086,30.170467]];
  90. for (var i = 0, marker; i < positions.length; i++) {
  91. marker = new AMap.Marker({
  92. map: map,
  93. position: positions[i],
  94. // content: markerContent,
  95. // icon:"RectangleFlagPin",
  96. offset: new AMap.Pixel(-13, -30),
  97. // icon: new AMap.Icon({
  98. // image: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1973034388,1185974770&fm=26&gp=0.jpg",
  99. // size: new AMap.Size(52, 52),
  100. // imageSize: new AMap.Size(23,23)
  101. // })
  102. });
  103. markers.push(marker);
  104. }
  105. }
  106. }
  107. }
  108. </script>
  109. <style scoped>
  110. #container {
  111. width: 100%;
  112. height:900px;
  113. margin: 0 auto;
  114. }
  115. </style>

发表评论

表情:
评论列表 (有 0 条评论,40人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue+地图

    基于VUE的高德地图展示及标点 功能描述: 在vue框架(vue-cli3)中使用高德地图,展示地图,规划行政区域,标点。 ![在这里插入图片描述][waterm

    相关 地图

    高德地图API的使用看官方文档就能很容易的上手。 在高德地图的使用过程中,了解了一些关于地图的需求与使用。 复习了一下地理知识: 经纬度 还复习了一下数学知识