精华内容
下载资源
问答
  • 高德地图多边形的透明度 官方文档:https://lbs.amap.com/api/javascript-api/summary 不知道是不是版本太低还是我没有找到地方,反正我就是没有看到关于设置多边形透明度的地方 官方文档:...

    高德地图多边形的透明度

    官方文档:https://lbs.amap.com/api/javascript-api/summary
    不知道是不是版本太低还是我没有找到地方,反正我就是没有看到关于设置多边形透明度的地方
    官方文档:https://lbs.amap.com/api/javascript-api/example/overlayers/polygon-draw-and-edit
    在这里找到了我需要的东西
    let polygon = new AMap.Polygon({
    path: path,
    opacity: 0.3,
    fillColor: ‘#4c0099ff’, // 多边形填充颜色
    borderWeight: 1, // 线条宽度,默认为 1
    strokeColor: ‘#4c0099ff’, // 线条颜色
    fillOpacity:0.3,
    });

    总之就是:fillOpacity: 0.4,这个属性

    初次使用高德地图开发,这个弯我认了。

    展开全文
  • 描述:这里我只显示中国地图地图的背景是透明色,这样就可以根据的你的父级元素背景,或者图片显示。 1.https://lbs.amap.com/ 退出之后,发布,选择使用与分享 2.接下来代码。我先说几个关键点,然后贴全部...

    效果图
    在这里插入图片描述

    在这里插入图片描述

    需求描述:高德地图,我只需要显示中国地图,背景颜色根据父级元素显示,
    可以调整。

    1.https://lbs.amap.com/
    在这里插入图片描述
    在这里插入图片描述
    退出之后,发布,选择使用与分享
    在这里插入图片描述
    2.接下来代码。我先说几个关键点,然后贴全部代码

    在这里插入图片描述
    在这里插入图片描述
    代码
    css部分
    html,
    body,
    #container {
    margin:0;
    height: 100%;
    background-color: #e8e8;;
    }
    body部分

    <div>id="container"></div>
    <script src="https://webapi.amap.com/maps?v=1.4.15&key=你的key&plugin=Map3D,AMap.DistrictLayer,AMap.Scale,AMap.ToolBar"></script>
    <script type="text/javascript" src="https://a.amap.com/jsapi_demos/static/demo-center/data/china-pp.js"></script>
    

    js部分

    var SOC = ‘CHN’ var colors = {}; var GDPSpeed = {
    ‘520000’:10,//贵州
    ‘540000’:10,//西藏
    ‘530000’:8.5,//云南
    ‘500000’:8.5,//重庆
    ‘360000’:8.5,//江西
    ‘340000’:8.0,//安徽
    ‘510000’:7.5,//四川
    ‘350000’:8.5,//福建
    ‘430000’:8.0,//湖南
    ‘420000’:7.5, //湖北
    ‘410000’:7.5,//河南
    ‘330000’:7.0,//浙江
    ‘640000’:7.5,//宁夏
    ‘650000’:7.0,//新疆
    ‘440000’:7.0,//广东
    ‘370000’:7.0,//山东
    ‘450000’:7.3,//广西
    ‘630000’:7.0,//青海
    ‘320000’:7.0,//江苏
    ‘140000’:6.5,//山西
    ‘460000’:7,// 海南
    ‘310000’:6.5,//上海
    ‘110000’:6.5, // 北京
    ‘130000’:6.5, // 河北
    ‘230000’:6, // 黑龙江
    ‘220000’:6,// 吉林
    ‘210000’:6.5, //辽宁
    ‘150000’:6.5,//内蒙古
    ‘120000’:5,// 天津
    ‘620000’:6,// 甘肃
    ‘610000’:8.5,// 甘肃
    ‘710000’:2.64, //台湾
    ‘810000’:3.0, //香港
    ‘820000’:4.7 //澳门

    } var getColorByDGP = function(adcode){
    if(!colors[adcode]){
    var gdp = GDPSpeed[adcode];
    if(!gdp){
    colors[adcode] = ‘rgb(227,227,227)’
    }else{
    var r = 3;
    var g = 140;
    var b = 230;
    var a = gdp/10;
    colors[adcode] = ‘rgba(’+ r +’,’+ g +’,’+b+’,’+a+’)’;
    }
    }
    return colors[adcode] }

    var disCountry = new AMap.DistrictLayer.Country({
    zIndex:10,
    SOC:‘CHN’,
    depth:1,
    styles:{
    ‘nation-stroke’:’#ff0000’,
    ‘coastline-stroke’:’#0088ff’,
    ‘province-stroke’:’#888888’,
    ‘fill’:function(props){
    return getColorByDGP(props.adcode_pro)
    }
    } })

    var map = new AMap.Map(‘container’, {
    resizeEnable: true, //是否监控地图容器尺寸变化
    layers:[disCountry],
    zooms: [4, 10],
    center:[106.122082,33.719192],
    zoom: 4,
    isHotspot:false,
    defaultCursor:‘pointer’,
    viewMode:‘2D’,
    resizeEnable: true,
    mapStyle:‘你的样式’,
    });

    map.addControl(new AMap.Scale());
    map.addControl(new AMap.ToolBar({liteStyle:true}));
    map.on(‘complete’,function(){
    var layer = new AMap.LabelsLayer({
    // 开启标注避让,默认为开启,v1.4.15 新增属性
    collision: false,
    // 开启标注淡入动画,默认为开启,v1.4.15 新增属性
    animation: true,
    });
    for (var i = 0; i < LabelsData.length; i++) {
    var labelsMarker = new AMap.LabelMarker(LabelsData[i]);
    layer.add(labelsMarker);
    }
    map.add(layer);
    })

    展开全文
  • 高德地图的坑

    千次阅读 2017-09-14 17:48:50
    1、自定义InfoWindow 重写InfoWindow的getInfoWindow()方法,返回一个View,如果这个View的根布局没有设置background,那么高德会给你外面套一层框框: ...高德地图默认显示的区域是很大的,比...

    1、自定义InfoWindow

    重写InfoWindow的getInfoWindow()方法,返回一个View,如果这个View的根布局没有设置background,那么高德会给你外面套一层框框:

    如果设置了background,哪怕是一个透明的颜色,就能达到我们想要的效果:

    由于图片是拿另一个手机拍的,有点歪歪的。

     

    2、设置地图缩放等级

    高德地图默认显示的区域是很大的,比如我要显示比较详细的街道信息,就要设置一个较大的缩放等级:

     

    aMap.moveCamera(CameraUpdateFactory.zoomTo(15));

    但是,问题来了,有时候设置了没有起作用抓狂

     

    好吧,那我设置一个监听,设置没有成功就重新设置:

     

    private float zoom = 16;
    	
    aMap.moveCamera(CameraUpdateFactory.zoomTo(zoom));
    aMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener() {
        @Override
        public void onCameraChange(CameraPosition cameraPosition) {
        }
    
        @Override
        public void onCameraChangeFinish(CameraPosition cameraPosition) {
            if (cameraPosition.zoom != zoom) {
                aMap.moveCamera(CameraUpdateFactory.zoomTo(zoom));
            }
        }
    });

    现在另外一个问题来了,这样设置之后,地图就不能缩放了,因为每次手动缩放之后,就会重新设置到zoom这个等级,好吧,那我们加一个标志,只对第一次加载的时候重新设置zoom:

     

    private float zoom = 16;
    private boolean isLoaded;
    
    aMap.moveCamera(CameraUpdateFactory.zoomTo(zoom));
        aMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener() {
        @Override
        public void onCameraChange(CameraPosition cameraPosition) {
        }
    
        @Override
        public void onCameraChangeFinish(CameraPosition cameraPosition) {
            if (!isLoaded && cameraPosition.zoom != zoom) {
                aMap.moveCamera(CameraUpdateFactory.zoomTo(zoom));
            }
            isLoaded = true;
        }
    });

    但是。。。。。。。理论上来说,没得问题了,实际上你会发现有时候还是没有作用再见

     

    分析原因,发现地图会加载两次,第一次加载的是默认地图(可能并不是你指定的经纬度),经过了一次回调,然后第二次加载的时候,不会再进入回调里面的设置代码了,因为isLoaded已经置true了,知道了原因修改就简单了,把isLoaded置true的代码放在括号里面就行了:

     

    @Override
    public void onCameraChangeFinish(CameraPosition cameraPosition) {
        if (!isLoaded && cameraPosition.zoom != zoom) {
            aMap.moveCamera(CameraUpdateFactory.zoomTo(zoom));
            isLoaded = true;
        }
    }

     

    3、不能正常定位

     

    自动定位到非洲的海洋里面去了骂人

    看log日志也没有异常,增加一个定位监听:

     

    aMap.setOnMyLocationChangeListener(new AMap.OnMyLocationChangeListener() {
        @Override
        public void onMyLocationChange(Location location) {
            Log.e("map", location.toString());
        }
    });

    然后在log中发现异常:

    10-10 09:41:47.290 27722-27722/com.ht.test E/map: latitude=0.0#longitude=0.0#province=#city=#district=#cityCode=#adCode=#address=#country=#road=#poiName=#street=#streetNum=#aoiName=#poiid=#floor=#errorCode=12#errorInfo=缺少定位权限 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:定位权限被禁用,请授予应用定位权限#1201 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:定位权限被禁用,请授予应用定位权限#1201#locationDetail=定位权限被禁用,请授予应用定位权限#1201#locationType=0
    

    原来是没有定位权限,Android 6.0以后,定位权限需要动态申请,java代码申请权限即可。

     

    然后,还是不行,看log:

     

    10-10 09:37:02.020 22915-22915/com.ht.test E/map: latitude=0.0#longitude=0.0#province=#city=#district=#cityCode=#adCode=#address=#country=#road=#poiName=#street=#streetNum=#aoiName=#poiid=#floor=#errorCode=7#errorInfo=KEY错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth fail:INVALID_USER_SCODE#SHA1AndPackage#C4:2B:3E:6E:3C:CE:83:63:6A:30:5A:B7:BD:70:65:34:13:04:74:78:com.ht.test#gsid#3ce427c57a5fd872c4cb4ef864a9c4d7#csid#e2fb592fe470496487546e65bc51eaf6#0701 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:auth fail:INVALID_USER_SCODE#SHA1AndPackage#C4:2B:3E:6E:3C:CE:83:63:6A:30:5A:B7:BD:70:65:34:13:04:74:78:com.ht.test#gsid#3ce427c57a5fd872c4cb4ef864a9c4d7#csid#e2fb592fe470496487546e65bc51eaf6#0701#locationDetail=auth fail:INVALID_USER_SCODE#SHA1AndPackage#C4:2B:3E:6E:3C:CE:83:63:6A:30:5A:B7:BD:70:65:34:13:04:74:78:com.ht.test#gsid#3ce427c57a5fd872c4cb4ef864a9c4d7#csid#e2fb592fe470496487546e65bc51eaf6#0701#locationType=0
    

    额,key错误,把高德后台申请到的key填到manifest中即可。

    4、显示多点,并且视图刚好把所有点包起来

    MultiPointOverlayOptions overlayOptions = new MultiPointOverlayOptions();
    overlayOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.map_light));//点的图片
    overlayOptions.anchor(0.5f,0.5f); //设置锚点
    
    MultiPointOverlay multiPointOverlay = mBinding.mapView.getMap().addMultiPointOverlay(overlayOptions);
    List<MultiPointItem> list = new ArrayList<MultiPointItem>();
    LatLngBounds.Builder latLngBounds = LatLngBounds.builder();
    for(BeanLight bean : beanLights) {
        //创建MultiPointItem存放,海量点中某单个点的位置及其他信息
        MultiPointItem multiPointItem = new MultiPointItem(new LatLng(Double.valueOf(bean
                .latitude), Double.valueOf(bean.longitude)));
        multiPointItem.setCustomerId(bean.lightCode);
        list.add(multiPointItem);
        latLngBounds.include(new LatLng(Double.valueOf(bean
                .latitude), Double.valueOf(bean.longitude)));
    }
    multiPointOverlay.setItems(list);//将规范化的点集交给海量点管理对象设置,待加载完毕即可看到海量点信息
    
    mBinding.mapView.getMap().moveCamera(CameraUpdateFactory.newLatLngBounds
            (latLngBounds.build(), 50));

    BeanLight代码:

    public class BeanLight extends BeanBase {
        public String lightCode;
        public String longitude;
        public String latitude;
    }

    5、通过屏幕某点坐标获取该点定位

    通过aMap.getProjection().fromScreenLocation(x, y)方法可以通过屏幕某点坐标获取该点的经纬度,高德解释如下:

    根据转入的屏幕位置返回一个地图位置(经纬度)。

    但是他这里所说的屏幕并不包括系统状态栏的高度,所以和view.getLocationOnScreen()方法配合使用时,会有一个高度差。比如:

    public LatLng getMapCenterPoint(View view) {
        Projection projection = aMap.getProjection();
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        LatLng pt = projection.fromScreenLocation(new Point(location[0],
                location[1]));
        return pt;
    }

    通过这个方法获取该view在地图上的经纬度,结果老是有误差,通过根view在屏幕上的坐标可以消除该误差:

    public LatLng getMapCenterPoint(View rootView, View view) {
        Projection projection = aMap.getProjection();
        int[] rootLocation = new int[2];
        rootView.getLocationOnScreen(rootLocation);
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        LatLng pt = projection.fromScreenLocation(new Point(location[0],
                location[1] - rootLocation[1]));
    
        return pt;
    }

     

     

     

     

     

     

     

     

     

    展开全文
  • 需要显示‘point’,但是文字太亮影响叠加的图层,没有找到直接的方式,但是将叠加图层的zIndex设置到很高即可降亮度

    需要显示‘point’,但是文字太亮影响叠加的图层,没有找到直接的方式,但是将叠加图层的zIndex设置到很高即可降亮度
    在这里插入图片描述

    展开全文
  • 之前遇到的问题是这样的:我要在摄像机预览界面加一个高德地图进来,第一次地图显示出来了,但是再次进入的话地图透明了,,, 原因:surfaceview不能叠加,否则就会有一方被隐掉 解决方法:将高德地图的...
  • 前端vue js 高德地图实现雷达扫描加载,借鉴百度地图等方法,采用Canvas解决雷达背景透明度问题,解决Canvas动态指针扫描造成浏览器卡顿问题 经过3天的尝试,借鉴了好几个博客的思路,开发了一个雷达扫描,画圈和...
  • 这个只用遮罩覆盖中国以外的地图,我想要的是中国以外的就没有,不是颜色覆盖。 <code class="language-html"><!doctype html> <html> <head> <meta charset="utf-8&#...
  • 公司需要只显示固定区域范围的地图,其余地方的地图都用透明遮罩覆盖 完成后如下图所示: 地图体验网址 刚开始的时候研究了半天高德地图的的JS API中只有一个区域遮掩符合条件 但是区域遮掩这个代码有一个很重要的...
  • 高德地图加载本地瓦片图层LocalTileProvider 概述: TileOverlay是栅格图层的相关类。栅格图层是显示在基本地图上的一组图像。这些栅格可以是透明的,允许您增加一些新的功能到现有的地图上。栅格图层具有以下属性...
  • 高德地图的覆盖物添加API提供了很多种指定覆盖物的添加和自定义覆盖物添加的方法。标记、矢量图形元素(包括:折线、多边形和圆)等。覆盖物拥有自己的地理坐标,当拖动或缩放地图时,它们也会随地图移动。 在添加...
  • 高德地图上面的marker的一些方法没有百度地图多 参考了一篇关于百度地图marker雷达图的文章 博主很强大 给他点个赞 具体实现思路 :每一帧改变一下circle半径即可。然后多个circle覆盖在一起,按时间差进行绘制,向...
  • 程序中有两个UIView,高德地图的View在下层,Unity的View在上层,当鼠标点击到Unity中的UI或其他对象时,Unity截获点击消息,否则高德地图处理点击消息。 一:Unity设置NGUI Camera Clear Flags 设置为:Solid ...
  • 一句话 :自定义一个infowindow,注意布局根部要设置全透明。 1、自定义一个infowindow public class InfoWinNoAdapter implements AMap.InfoWindowAdapter { private Context mContext; public ...
  • 本文转发自热爱前端...通过不断的改变圆的半径大小,不断重叠达到运动的效果,在运动的过程中,设置当前canvas的透明度context.globalAlpha=0.95,使得canvas上的圆逐渐透明直至为0,从而实现这种扩散、渐变的效果..
  • 最近有个需求,要求在高德地图上能够自由的绘制区块,然后这个区块能够自由的控制边框、透明度、背景色等,绘制完毕之后保存起来,然后在另一个页面进行重新绘制并且添加上对于的点击事件。 代码记录 本例中有两个...
  • 高德地图API删除折线的方法

    千次阅读 2017-01-23 15:00:34
    polyline = new AMap.Polyline({  path: lineArr, //设置线覆盖物路径  strokeColor: "#3366FF", //线颜色  strokeOpacity: 1, //线透明度  strokeWeight: 5, //线宽  
  • 【转】js高德地图图标合集

    千次阅读 2019-07-31 14:02:20
    本文转自https://www.jianshu.com/p/6be42c2cd81a 小汽车 http://webapi.amap.com/images/car.png car.png 黑色标记物 http://webapi.amap.com/images/custom_a_j.png ...透明 ABCD http://webapi.amap.com/...
  • Android高德地图Marker的隐藏与重现

    千次阅读 2017-03-23 13:21:09
    为了实现marker的隐藏可以调用setAlpha方法,当透明度为0时就是隐藏效果setAlpha public void setAlpha(float alpha) 设置Marker覆盖物的透明度 参数: alpha - 透明度范围[0,1] 1为不透明
  • 使用高德地图去掉定位圆圈之后 箭头不显示了。 MyLocationStyle myLocationStyle = new MyLocationStyle(); /* myLocationStyle.myLocationIcon(BitmapDescriptorFactory. fromResource(R.mipmap.btn_voice_map_...
  • 代码如下,高德地图搜索后默认会放大至搜索点,但我现在想在获取到的坐标位置添加遮罩所以必须要缩放地图,但设置map.setZoom(10)无效 这是怎么回事? ``` AMap.plugin(['AMap.PlaceSearch','AMap.AutoComplete']...
  • 本文转发自热爱前端知识的博客...在这篇文章中我们就来分析实现这种效果的两种方法,先上效果图: 实现原理通过不断的改变圆的半径大小,不断重叠达到运动的效果,在运动的过程中,设置当前canvas的透明度context.gl...
  • 1、第一步确定地图位置,实现扩散动画(高德地图传递Circle 就不写了) 注意点:1 透明度160到0;总时间2.5秒,半径扩散0-500 private void Scalecircle(final Circle ac) { ValueAnimator vm = ValueAnimator...
  • 所以在布局上搞一个帧布局,下面市地图,上面是一个透明的button,没有画区域时 是GON的,点击画区域按钮后设置为可见, 这样你在这个button上画,就可以通过ontouch方法来得到一系列的屏幕上的点,通过projection 把这
  • 1.我是在高德地图上画了一条线,想在这条线周边画出一个多边形,这个多边形是根据线上所有的点 垂直200米范围。 2.我试过高德地图API接口 画多边形 //这是所有的点 按90度来计算距离200米的经纬度 for(var j=0;...
  • 1.什么是精度圈,就是一开始显示的蓝色的那一块 只有使用定位了的同学才能使用哦 使用定位,需要使用 MyLocationStyle 所以只需要设置一下这个属性就行,将颜色透明度归0 ...
  • 使用js+jQuery编写简单web高德地图demo,具体功能有 距离测量、ip定位(浏览器定位)、行政区域查询、单击地图获取位置信息、获取marker点处位置信息、简易圆形电子围栏(圆可编辑大小、可移动位置)、右键菜单、...
  • strokeOpacity: 1,//主体透明度 strokeWeight: 5,//主体粗度 // 折线样式还支持 'dashed' strokeStyle: "solid",//主体样式 // strokeStyle是dashed时有效 strokeDasharray: [10, 5],//转折点柔化 ...
  • 去掉高德api上的logo图标

    千次阅读 2017-10-23 14:00:44
    1、去掉高德地图logo: .amap-logo{ display: none; } 2、去掉高德的版本号: .amap-copyright { opacity:0; } 直接设置display:none;不起作用,所以设置透明

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

高德透明地图