高德地图 transform: rotate(90deg)横屏显示后样式及事件问题
做大屏数据报表,底图用的动态的高德地图,后客户又要求做移动端的大屏,要求用户一进入页面,就是横屏显示。即rotate(90deg)显示页面内容。
但是发现旋转后高德地图的样式会有问题。就是创建的marker会被挡住。
解决方法:检查元素发现是被amap-layer层挡住,无论怎么设置他的z-index:-1都没有用,后来加了个绝对定位就好了。
.amap-layer{
z-index:-1 !important;
position: absolute;
}
还有就是旋转了之后,高德地图的触摸移动的方向就左右和上下反了。
解决方法:重写高德地图的触摸事件就有点麻烦了,也没认真找到重写的方法。于是自己想出了一个解决办法。
this.map = new AMap.Map('container',{
viewMode:'3D',
dragEnable:false,
center:[120.695224,27.917666],
pitch:55,
zoom:17,
layers:[
new AMap.TileLayer({}),this.buildingLayer
]
});
初始化的时候dragEnable:false,设置地图禁止平移。
<view @touchstart.prevent="handleTouchStart"
@touchmove="handleTouchMove"
@touchend="handleTouchEnd" id="container" class="container"></view>
handleTouchEnd(e){
this.pre = ''
this.count = 0
},
handleTouchStart(e){
this.pre = this.getLnglat(e.touches[0].clientY,e.touches[0].clientX);
},
handleTouchMove(e){
// return
// const { windowWidth, windowHeight } = uni.getSystemInfoSync();
this.count = this.count + 1
if(this.count%3!=0){
return
}
// 构造成 Pixel 对象后传入
var lnglat = this.getLnglat(e.touches[0].clientY,e.touches[0].clientX,); // 获得 LngLat 对象
let lng = this.map.getCenter().lng-(lnglat.lng - this.pre.lng)/4
let lat = this.map.getCenter().lat+(lnglat.lat - this.pre.lat)/4
this.map.setCenter([lng,lat])
},
getLnglat(x,y){
var pixel = new AMap.Pixel(x, y);
return this.map.containerToLngLat(pixel);
},
再给地图对应的容器加上触摸事件,在事件里实现地图的平移效果,this.pre 记录上一次的位置,减去当前位置,就是地图平移的大小,此时需要用地图的像素转经纬度的方法(Pixel和containerToLngLat)算当前平移的地图中心点,再将地图的中心点设置为算出的值。我这里用his.count%3的方法,即每3次才平移,减少平移量,不然手机上一划就移很远去了。
高德地图 transform: rotate(90deg)横屏显示后样式及事件问题相关推荐
- 高德地图与CAD图叠加显示方法汇总及优缺点分析
前言 高德地图应用在许多领域,平常我们用的地图导航,除过正常的地图导航指引功能之外,其实还有很多实用的功能.如高德影像地图应用在包括地理.土地测量.水文学.生态学.气象学以及海洋学等方面.Auto ...
- android 高德地图 定位蓝点消失,高德地图蓝点定位不显示蓝点
高德地图所使用的权限 写完后发现蓝点没出来,看遍文档也没发现原因,发现要显示定位蓝点,需要 ACCESS_FINE_LOCATION 权限 另外,还需要判断gps有没有打开,没有的话需要引导用户打开g ...
- 高德地图生成静态图片,显示指定经纬度的地图
最近接到一个地图需求,1.生成静态图片,2.显示指定经纬度的地图 然后我结合需求sdkapi后,就确定了大概几个需求.本文只注明几个比较有用的地方,具体还得结合官方文档,普通不是专门以地图开发需求的a ...
- 高德地图小程序步行路线显示_微信小程序之:小程序接入高德地图SDK
前言 最近在捣腾小程序,想开发一个自己的小程序,过一把独立开发的瘾. 自己设计,自己搞数据,自己找图标,自己决定要或者不要什么功能,完全跟着心走,目前体验下来,感觉还是蛮爽的.比在公司产品要你做什么你 ...
- 高德地图教程_poi搜索以及显示
最近打算高仿深圳通的应用,UI已经做好了,我看过APP的查询接口,断了网也可以查询这就表明数据是保存在数据库,或者就是第一次联网,就在网站将数据全部下好了.我就想干脆用地图提供的查询吧. 以前是接触的 ...
- android开发之高德地图不能定位,只显示格子
android 在引用高德地图组件进行开发的时候,不能定位,只显示格子,如下图所示: 参考了网上的一下大家的解决方案,主要是 (1)检查申请的KEY是否正确.PS:申请方法请参考这篇博客,写的很全很详 ...
- 高德地图小程序步行路线显示_微信小程序 高德地图路线规划实现过程详解
前言 最近项目中做到相关网约车小程序.需要使用到地图中的路线规划,对3种地图进行了分析.这里稍微做一下总结: 百度地图 百度坐标 (BD-09) 腾讯地图 火星坐标(GCJ-02) 高德地图 火星坐标 ...
- 高德地图小程序步行路线显示_微信小程序----map路线规划
声明 bug: 页面脚的步行.骑行.驾车区域在真机测试是会出现不显示问题? 造成原因:在小程序map组件的同一区域,map组件的视图层比普通的文本视图层要高,所以在真机会遮挡! 解决办法:将该文本视图 ...
- 高德地图 多状态业务自适应显示多个点标记
多个状态业务点在地图上展示,参考了高德地图自适应显示多个点标记,大致上差不多,但是要修改成自己的业务. 1.直接copy高德地图的自适应显示多个点标记html代码,把key修改成自己申请的: 2.下面 ...
最新文章
- XCode 6 制作framework
- 浅谈程序员的职业规划
- 互斥锁、条件变量、信号量浅析
- inline元素的间距问题
- Linux环境通过java虚拟机定位程序问题位置的方法
- 【OpenCV】音符提取(形态学实例)
- 机器视觉:光源专业词汇中英文详解
- PERL-MOJO写一个简单的登录验证页面
- 如何实现BootStrapTable的动态表格
- 数据分析岗位需求分析报告
- FindBugs错误描述
- MVG基站天线测量系统获盛路通信选用
- bim管线插件:教你平面显示家用冷热水和卫生设备管道
- Failed to introspect Class [com.mchange.v2.c3p0.ComboPooledDataSource] from ClassLoader [ParallelWeb
- office2010/2013/2016安装过程提示问题Office 16 Click-to-Run Extensibility Component
- 编译 /home/nzm/dvsdk_3_00_02_44/codec_engine_2_24/examples/ti/sdo/ce/examples/apps/video_copy 【part2】
- ttkefu怎么取消英文版?显示中文版
- 免费可商用的矢量插图网站
- 7-18 Decimal Equivalent of a Binary Number (10 分)
- china-pub近30日计算机图书排行榜
热门文章
- android 悬浮窗的显示动画,android 悬浮窗特效
- CAD图纸中CAD文字边界为锯齿形的原因及解决办法
- JsonFormat格式转换
- 关于IE浏览器历史记录的一些知识
- 装机摸鱼日志--ubuntu16.04安装网易云音乐客户端
- 技术分享 | 四旋翼丝滑“绕⼋”⾃主轨迹运动
- ecshop 商城二次开发 系统简介
- RHCE--给openlab搭建WEB网站
- 从零开始的腾讯云使用体验-4-搭建nginx+uwsgi+django
- DLL的进入退出——由DLL_PROCESS_ATTACH而联系搜索起来。