精华内容
下载资源
问答
  • 使用高德地图Web服务-路径规划,用ArcGIS api for JS将数据显示天地图底图上 用于两地之间的交通建议 Hbuild工程,jQuery,ArcGIS JS,天地图
  • 切片地图就是指将显示地图切成一块一块的(256 * 256)分别显示加载。openlayers 3中有这样图层加载类,ol.layer.Tile,对应的source类有ol.source.TileImage,ol.source.XYZ,这两者的关系通过源码可以看到 ol....

    调用这三个商业地图服务,我们使用的都是切片(Tile)地图服务,关于切片地图的含义这里做简单的介绍:
    切片地图就是指将显示的地图切成一块一块的(256 * 256)分别显示加载。openlayers 3中有这样图层加载类,ol.layer.Tile,对应的source类有ol.source.TileImage,ol.source.XYZ,这两者的关系通过源码可以看到
    ol.inherits(ol.source.XYZ, ol.source.TileImage);,ol.source.TileImage是父类。

    对于天地图,我们访问天地图地图主页服务,打开控制台->Network,我们可以看到请求的一些地址如下:

    http://t2.tianditu.com/DataServer?T=vec_w&x=53&y=24&l=6'

    其中重要的信息是x,y,z分别表示x坐标,y坐标和zoomLevel。

    其实在openlayers 3源码中有Bing地图和OSM地图的扩展了,我们可以仿照它们进行一些扩展。

    1.扩展天地图

    源码使用模块化打包

    var ol = require('openlayers');
    
    ol.source.TianMap = function(options){
        var options = options ? options : {};
          var attributions;
          if(options.attributions !== undefined){
              attributions = option.attributions;
          }else{
              attributions = [ol.source.BaiduMap.ATTRIBUTION];
          }
    
        var url;
        if(options.mapType == "sat"){
            url = "http://t{0-4}.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}";
        }else if(options.mapType == "satLabel"){
            url = "http://t{0-4}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}";
        }else if(options.mapType == "label"){
            url = "http://t{0-4}.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}";
        }else{
            url = "http://t{0-4}.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}";
        }
    
          ol.source.XYZ.call(this, {
            attributions: attributions,
          projection: ol.proj.get('EPSG:3857'),
            cacheSize: options.cacheSize,
            crossOrigin: 'anonymous',
            opaque: options.opaque !== undefined ? options.opaque : true,
            maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,
            reprojectionErrorThreshold: options.reprojectionErrorThreshold,
            tileLoadFunction: options.tileLoadFunction,
            url: url,
            wrapX: options.wrapX
          });
    }
    ol.inherits(ol.source.TianMap, ol.source.XYZ);
    
    ol.source.TianMap.ATTRIBUTION = new ol.Attribution({
          html: '&copy; <a class="ol-attribution-tianmap" ' +
          'href="http://www.tianditu.cn/">' +
          '天地图</a>'
    });
    module.exports = ol.source.TianMap;

    使用方法

    var tianMapSat = new ol.layer.Tile({
        title: "天地图卫星",
        source: new ol.source.TianMap({mapType:"sat"})
    });
    map.addLayer(tianMapSat);

    2. 扩展百度地图

    百度地图坐标进行了加偏,所以需要使用projzh转化
    百度地图使用的是定制化的墨卡托投影和BD-09 datum,所以将WGS-84坐标转化为百度坐标需要两步
    first transform from WGS-84 to BD-09 (which itself uses the GCJ-09 transform), and then do the forward transform to Baidu Mercator
    第一步是将WGS-84 转化为 BD-09,然后转化为百度墨卡托

    baiduMercator.forward(bd09.fromWGS84(point))

    反过来的转化为

    bd09.toWGS84(baiduMercator.inverse(point))

    https://github.com/tschaub/projzh

    var ol = require('openlayers');
    var projzh = require('projzh');
    /* projzh处理百度坐标的问题,算法基于proj4m project
     * https://www.versioneye.com/nodejs/projzh/0.5.0
     * https://github.com/tschaub/projzh
     */
    ol.source.BaiduMap = function(options){
        var options = options ? options : {};
    
          var attributions;
          if(options.attributions !== undefined){
              attributions = option.attributions;
          }else{
              attributions = [ol.source.BaiduMap.ATTRIBUTION];
          }
    
        var extent = [72.004, 0.8293, 137.8347, 55.8271];
    
        //定义百度坐标
        //地址:https://github.com/openlayers/openlayers/issues/3522
        var baiduMercator = new ol.proj.Projection({
            code: 'baidu',
            extent: ol.extent.applyTransform(extent, projzh.ll2bmerc),
            units: 'm'
        });
    
        ol.proj.addProjection(baiduMercator);
        ol.proj.addCoordinateTransforms('EPSG:4326', baiduMercator, projzh.ll2bmerc, projzh.bmerc2ll);
        ol.proj.addCoordinateTransforms('EPSG:3857', baiduMercator, projzh.smerc2bmerc, projzh.bmerc2smerc);
    
    
          var resolutions = [];
        for(var i=0; i<19; i++){
            resolutions[i] = Math.pow(2, 18-i);
        }
        var tilegrid  = new ol.tilegrid.TileGrid({
            origin: [0,0],
            resolutions: resolutions,
            extent: ol.extent.applyTransform(extent, projzh.ll2bmerc),
            tileSize: [256, 256]
        });
          var satUrls = [0, 1, 2, 3, 4].map(function(sub) {
            return 'http://shangetu' + sub +
                '.map.bdimg.com/it/u=x={x};y={y};z={z};v=009;type=sate&fm=46&udt=20150601';
        });
        var urls = [0, 1, 2, 3, 4].map(function(sub) {
            return 'http://online' + sub +
                '.map.bdimg.com/onlinelabel/qt=tile&x={x}&y={y}&z={z}&v=009&styles=pl&udt=20170301&scaler=1&p=1';
        });
        ol.source.TileImage.call(this, {
              crossOrigin: 'anonymous',   //跨域
            cacheSize: options.cacheSize,
            // projection: ol.proj.get('EPSG:3857'),
              projection:'baidu',
              tileGrid: tilegrid,
              tileUrlFunction: function(tileCoord, pixelRatio, proj){
                if(!tileCoord) return "";
    
                var z = tileCoord[0];
                var x = tileCoord[1];
                var y = tileCoord[2];
                var hash = (x << z) + y;
                var index = hash % urls.length;
                index = index < 0 ? index + urls.length : index;
                if(options.mapType == "sat"){
                    return satUrls[index].replace('{x}', x).replace('{y}', y).replace('{z}', z);
                  }
                return urls[index].replace('{x}', x).replace('{y}', y).replace('{z}', z);
    
            },
            wrapX: options.wrapX !== undefined ? options.wrapX : true
    
          });
    }
    
    ol.inherits(ol.source.BaiduMap,ol.source.TileImage);
    
    ol.source.BaiduMap.ATTRIBUTION = new ol.Attribution({
          html: '&copy; <a class="ol-attribution-baidumap" ' +
          'href="http://map.baidu.com/">' +
          '百度地图</a>'
    });
    
    module.exports = ol.source.BaiduMap;

    调用

    var baiduMapSat = new ol.layer.Tile({
        title: "百度地图卫星",
        source: new ol.source.BaiduMap({mapType:"sat"})
    });
    map.addLayer(baiduMapSat);

    3. 扩展高德地图

    var ol = require('openlayers');
    
    ol.source.AMap = function(options){
        var options = options ? options : {};
    
          var attributions;
          if(options.attributions !== undefined){
              attributions = option.attributions;
          }else{
              attributions = [ol.source.AMap.ATTRIBUTION];
          }
    
          var url;
          if(options.mapType == "sat"){
              url ="http://webst0{1-4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}";
          }else{
              url = "http://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}";
          }
    
        ol.source.XYZ.call(this, {
              crossOrigin: 'anonymous',   //跨域
            cacheSize: options.cacheSize,
            projection: ol.proj.get('EPSG:3857'),
            // urls:urls,
            url:url,
            wrapX: options.wrapX !== undefined ? options.wrapX : true
    
          });
    
    }
    
    ol.inherits(ol.source.AMap,ol.source.XYZ);
    
    
    ol.source.AMap.ATTRIBUTION = new ol.Attribution({
          html: '&copy; <a class="ol-attribution-amap" ' +
          'href="http://ditu.amap.com/">' +
          '高德地图</a>'
    });
    
    module.exports = ol.source.AMap;

    调用

    var aMapSat = new ol.layer.Tile({
        title: "高德地图卫星",
        source: new ol.source.AMap({mapType:"sat"})
    });
    map.addLayer(aMapSat);

    最后推荐一个github仓库,Openlayers 3 使用React 组件化+wepack+ES6实践,
    包括扩展在其中的具体使用方法

    https://github.com/zrysmt/openlayers3-react

    参考阅读

    展开全文
  • 这个问题困惑了好几,...问题:as采用高德地图api,显示地图为白屏 解决方法:可能是so库的添加有问题,as并不是简单的复制到libs目录下就ok的,在app/build.grade下加上如下代码就ok了 android{ sourceSets {

    这个问题困惑了好几天,可以说是睡觉吃饭都会想这个问题,来来回回改了代码,查换key,重新写验证小程序。最后,总算是功夫不负有心人,吃再多苦也值了。

    问题:as采用高德地图api,显示地图为白屏

    解决方法:可能是so库的添加有问题,as并不是简单的复制到libs目录下就ok的,在app/build.grade下加上如下代码就ok了

    android{
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
            //…
        }
    }
    当然,你可能不是因为这个问题而显示白屏,我后来发现官方也给出白屏的一些解决方案:http://lbs.amap.com/  在常见问题的android专栏有该解决方案


    展开全文
  • 高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2才...

    在项目中需要利用Marker对地图位置进行自定义标记,想使用自己的图标,并在点击Marker时需要弹出框显示对象信息,并且做后续自定义的操作。

    高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2天才全部搞定。

    一、需求

    根据用户自已定信的对象,在地图上显示,对象是具有地图属性的业务对象,为了区分业务对象,不同的业务对象在地图上想显示不同的Marker图标。点南击图标Marker弹出窗口,进一步显示更多属性信息,和相应的操作。

    二、准备

    定义了一个地衅组件,增加了Marker标记,弹出信息窗两个子组件。Markers组由于不能传递Marker的序号,该序号用于决定哪个信息窗显示不成功,放弃了此方法,直接在程序中生成marker

    三、生成多个景区标记(Markers)

    1、自定义图标:

    图标放在阿里云的OSS上的,起初上放在程序的assets目录,由于是在高德地图中嵌入使用,搞了半天都不成功,看高德地图的官方资料,也是使用全名称路径,没办法,改到OSS上用全路径搞成功了。此处定义了景区和景点两图标备后面使用

    scenicIcon: new AMap.Icon({  size: new AMap.Size(35, 35),    // 图标尺寸  image: process.env.VUE_APP_OSS_PREFIX + 'icon/scenic2.svg',  // Icon的图像  imageSize: new AMap.Size(35, 35)}), // 景区图标spotIcon: new AMap.Icon({  size: new AMap.Size(25, 25),    // 图标尺寸  image: process.env.VUE_APP_OSS_PREFIX + 'icon/spot2.svg',  // Icon的图像  imageSize: new AMap.Size(25, 25)}), // 景区图标

    2、根据当前所在城市,获取景区信息,生成自定义的景区图标。

    changeCity(adcode) { //切换城市函数  let map = this.amapManager.getMap()  map.setCity(adcode) //根据省市县三级联选,切换城市所在区域   //标记辖区内的景区  let windows = []//window窗体  let self = this            //this重定向  this.infoWindow = new AMap.InfoWindow({ offset: new AMap.Pixel(0, -30) })  listByCode(adcode).then(response => {  //查询本声调所有景区,不含景点    if (response.code == 200) {      let data = response.data      for (let i in data) {        let id = parseFloat(data[i].id)        let lng = parseFloat(data[i].lng)        let lat = parseFloat(data[i].lat)        //窗口缺省位置和空信息        windows.push({          position: [lng, lat],    //信息窗口地址的定位    循环添加接口数据          //信息窗口的信息内容           循环添加接口数据          content:            ``,          visible: false        })       //经过反复测试,还是直接用AMap直接生成Marker,主要是可以在后面添加Index和ID便于参数传递        let marker = new AMap.Marker({          position: [lng, lat],                    icon: this.scenicIcon,         //使用自定义的景区图标           map: map        })        //下边两个参数很重要,用vue-amap生成的对象这两个参数无法传递,直接用JS生成的AMap.Maker可以传递这两个参数        marker.index = i  //marker序号,用于后续显示自定认的信息窗口        marker.id = id    //景区ID号,用于后续区获取详细信息      //下面这个方法很重要,用vue-amap的marker的events: click事件时,不能增加扩展数据        marker.on('click', function(e) {          //后台根据 ID获取景区数据                   getScenic(e.target.id).then(response => {            //构建窗口信息                       if (response.code == 200) {              let scenic = response.data              //显示点击窗体内容                            self.windows[e.target.index].url = process.env.VUE_APP_OSS_PREFIX + scenic.url                           self.windows[e.target.index].name = scenic.name                            self.windows[e.target.index].content = `
    景区名称:${scenic.name}
    景区级别:${scenic.level}
    ` } else { alert('景区信息获取失败!') } }) //给信息窗体里的判断默认传false 默认不显示 self.windows.forEach(window => { window.visible = false }) //当前点击的圆点对应的信息窗体 为true 显示 self.window = self.windows[e.target.index] self.$nextTick(() => { self.window.visible = true }) }) } this.windows = windows //this.markers = markers console.log(windows) } else { console.log(response.msg) } })}

    三、信息窗口

    增加信息窗口接收信息内容,高德官网是JavaScription编程 ,用content拼接html结果接受内容,拼接比较复杂,还是改为vue组件,通过数据传输接收数据方式好一些。

    景区名称:
    景区级别:

    四、显示成果

    最终的成果是,自定义景区图片,点击景区图标,显示自定义信息。

    4f2905598d49261ba202a2c4926972ea.png
    展开全文
  • 高德地图

    2015-08-18 19:56:00
    Android【学习心得】- 高德地图开发【第十二周】【第二十二】【周一】 摘要:高德地图之覆盖物显示【兴趣点搜索(三)】 昨天分享了关键字搜索,今天来分享下周边搜索,使用 PoiSearch.Sea
    
    
    

    Android【学习心得】- 高德地图开发【输入提示搜索】【第十二周】【更新完毕】

    Android【学习心得】- 高德地图开发【第十二周】【第二十二天】【周一】

    摘要:高德地图之覆盖物显示【兴趣点搜索(三)】


    昨天分享了关键字搜索,今天来分享下周边搜索,使用 PoiSearch.SearchBound(LatLonPoint center, int radiusInMeters) 设置周边圆形搜索范围。参数 “center” 为搜索的中心点坐标,“radiusInMeters” 为周边搜索的范围。

    和关键字搜索类似,我们只要修改两个方法就可以了,先修改doSearchQuery():

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    /**
     * 开始进行poi搜索
     */
    protected void doSearchQuery() {
        showProgressDialog();// 显示进度框
        /**关键字搜索*/
    //        currentPage = 0;
    //        // 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)
    //        query = new PoiSearch.Query(keyWord, "", cityET.getText().toString());
    //        // 设置每页最多返回多少条poiitem
    //        query.setPageSize(10);
    //        // 设置查第一页
    //        query.setPageNum(currentPage);
    //
    //        poiSearch = new PoiSearch(this, query);
    //        poiSearch.setOnPoiSearchListener(this);
    //        poiSearch.searchPOIAsyn();
      
        currentPage = 0;
        // 第一个参数表示搜索字符串,第二个参数表示POI搜索类型
        // 第三个参数表示POI搜索区域(空字符串代表全国)
        query = new PoiSearch.Query(keyWord, "餐厅""杭州市");
        query.setPageSize(10);// 设置每页最多返回多少条poiitem
        query.setPageNum(currentPage);//设置查第一页
        PoiSearch poiSearch = new PoiSearch(this, query);
        // 搜索杭州市政府附件1000米范围
        poiSearch.setBound(new PoiSearch.SearchBound(new LatLonPoint(30.243753120.18252), 1000));
        poiSearch.setOnPoiSearchListener(this);
        poiSearch.searchPOIAsyn();
    }


    然后是修改搜索之后回调的方法onPoiSearched:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    /**
     * POI信息查询回调方法
     */
    @Override
    public void onPoiSearched(PoiResult poiResult, int rCode) {
        Log.d(TAG, "onPoiSearched, rCode = " + rCode);
        dissmissProgressDialog();// 隐藏对话框
    //        if (rCode == 0) {
    //            // 搜索poi的结果
    //            if (poiResult != null && poiResult.getQuery() != null) {
    //                // 是否是同一条
    //                if (poiResult.getQuery().equals(query)) {
    //                    poiResult = poiResult;
    //                    // 取得搜索到的poiitems有多少页
    //                    // 取得第一页的poiitem数据,页数从数字0开始
    //                    List<PoiItem> poiItems = poiResult.getPois();
    //                    // 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息
    //                    List<SuggestionCity> suggestionCities = poiResult.getSearchSuggestionCitys();
    //
    //                    if (poiItems != null && poiItems.size() > 0) {
    //                        mAMap.clear();// 清理之前的图标
    //                        PoiOverlay poiOverlay = new PoiOverlay(mAMap, poiItems);
    //                        poiOverlay.removeFromMap();
    //                        poiOverlay.addToMap();
    //                        poiOverlay.zoomToSpan();
    //                    } else if (suggestionCities != null
    //                            && suggestionCities.size() > 0) {
    //                        showSuggestCity(suggestionCities);
    //                    } else {
    //                        Toast.makeText(this, "没有搜索到相关数据", Toast.LENGTH_SHORT).show();
    //                    }
    //                }
    //            } else {
    //                Toast.makeText(this, "没有搜索到相关数据", Toast.LENGTH_SHORT).show();
    //            }
    //        } else if (rCode == 27) {
    //            Toast.makeText(this, "搜索失败,请检查网络连接!", Toast.LENGTH_SHORT).show();
    //        } else if (rCode == 32) {
    //            Toast.makeText(this, "key验证无效!", Toast.LENGTH_SHORT).show();
    //        } else {
    //            Toast.makeText(this, "未知错误,请稍后重试!错误码为" + rCode, Toast.LENGTH_SHORT).show();
    //        }
      
        if (rCode == 0) {
            // 搜索POI的结果
            if (poiResult != null && poiResult.getQuery() != null) {
                // 是否是同一条
                if (poiResult.getQuery().equals(query)) {
                    poiResult = poiResult;
                    // 取得搜索到的poiitems有多少页
                    int resultPages = poiResult.getPageCount();
                    // 取得第一页的poiitem数据,页数从数字0开始
                    List poiItems = poiResult.getPois();
                    // 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息
                    List suggestionCities = poiResult.getSearchSuggestionCitys();
      
                    dissmissProgressDialog();// 隐藏对话框
                    if (poiItems != null && poiItems.size() > 0) {
                        mAMap.clear();//清理之前的图标
                        PoiOverlay poiOverlay = new PoiOverlay(mAMap, poiItems);
                        poiOverlay.removeFromMap();
                        poiOverlay.addToMap();
                        poiOverlay.zoomToSpan();
                    else if (suggestionCities != null
                            && suggestionCities.size() > 0) {
                        showSuggestCity(suggestionCities);
                    else {
                        Toast.makeText(this"没有搜索到相关数据", Toast.LENGTH_SHORT).show();
                    }
                }
            else {
                dissmissProgressDialog();// 隐藏对话框
                Toast.makeText(this"没有搜索到相关数据", Toast.LENGTH_SHORT).show();
            }
        else {
            dissmissProgressDialog();// 隐藏对话框
            Toast.makeText(this"搜索失败,请检查网络连接!", Toast.LENGTH_SHORT).show();
        }
    }


    最后修改一下按钮点击的方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /**
     * 点击搜索按钮
     */
    public void searchButton() {
    //        keyWord = keyWordET.getText().toString();
    //        if ("".equals(keyWord)) {
    //            Toast.makeText(this, "请输入搜索关键字", Toast.LENGTH_SHORT).show();
    //            return;
    //        } else {
    //            doSearchQuery();
    //        }
      
        doSearchQuery();
    }


    这样就OK啦,运行起来看看:
    因为我直接在代码里面写好了数据,所以直接点击开始搜索:

    54cf6be800017a3f05000889.jpg


    搜索到结果:

    54cf6bed0001b98905000889.jpg


    真的非常简单。
    今天就先分享到这里了。

    展开全文
  • 国内 谷歌瓦片服务器 于2021年1月20号暂停服务 ...2.高德地图和谷歌中国地图——GCJ-02 天地图——CGCS2000 3.1坐标系研究 天地图上不同省份使用的坐标系可能不同,目前来看我经手过的浙江、四...
  • (一)加载天地图(加载天地图影像地图,WebMapTileServiceImageryProvider该接口是加载WMTS服务的接口,天地图是典型的WMTS服务的原型) //初始化viewer控件 var viewer = new Cesium.Viewer('cesiumContainer',...
  • 一直以来感觉地图功能的开发是...但最近公司有一个项目,涉及到地图上添加假覆盖物,说以这就难道了我,查阅多资料结果都不是很理想没办法你能去看开发平台的Api文档,再两的探索下降百度地图和高德地图的,Marker...
  • 今天是使用OpenLayers6加载天地图高德地图,主要就是创建一个ol.Map类的对象,再与显示区域的DOM的对象进行绑定就可以了,关于ol.layer.Tile的文档可见https://openlayers.org/en/latest/apidoc/module-
  • 高德定位,高德地图实例

    千次阅读 2016-11-18 11:03:17
    前几做了个添加地址的页面,其中用到了定位和地图,先上高德的定位和地图:  效果:  进入页面后,自动定位,如果定位不成功,可以点击“重新定位”的按钮重新定位,在位置显示框里输入地址可以以下拉框的形式...
  • 车主们的热情,化为高德地图和百度地图微博下网友的催更。不过,这次两家地图表现都还不错,仅过了两,百度、高德相继发布更新,增加了对Carplay分屏显示模式的支持。分屏显示模式,让Carplay能够同屏显示导航和...
  • 高德地图API学习小记

    2015-11-09 11:00:29
    高德地图API学习记录01由于老师的项目需求,开始接触Android以及使用高德地图API,作为新手,搭建Android环境以及搞清楚Android项目的各种文件作用就花了好几,现在差不多算是搞清楚基本情况了,记录一下。高德...
  • Android【学习心得】- 高德地图开发【覆盖物显示——Marker的使用(一)】【第十周】【更新完毕】 Android【学习心得】- 高德地图开发【第十周】【第八】【周一】 摘要:高德地图之项目拆分和地图...
  • 车主们的热情,化为高德地图和百度地图微博下网友的催更。不过,这次两家地图表现都还不错,仅过了两,百度、高德相继发布更新,增加了对Carplay分屏显示模式的支持。分屏显示模式,让Carplay能够同屏显示导航和...
  • 之前遇到的问题是这样的:我要在摄像机预览界面加一个高德地图进来,第一次地图显示出来了,但是再次进入的话地图就透明了,,, 原因:surfaceview不能叠加,否则就会有一方被隐掉 解决方法:将高德地图的MapView...
  • 如题,第一次做高德的开发,懂得不是很多,去高德的官网查阅了开发文档,然后看了几位csdn前辈的开发步骤,后续会贴代码和文件情况,折磨一多了,请大神们来帮帮忙》。。 按着步骤来了一次结果出现了以下报错:!...
  • Android高德地图加载WMS服务应用实践

    千次阅读 热门讨论 2017-12-14 13:48:57
    需求:在Android高德地图上需要加载wms服务,用于显示自己绘制的瓦片地图。 由于需要在指定的位置添加一小块瓦片地图,所以在制作瓦片地图时需要参照高德地图底图作为参照进行图形绘制,但是因为网上没有找到具体...
  • 虽然高德地图用了很多了,不过一直没在意的一个问题,今天又出现了,让我费了一番脑筋。那就是打在地图上的覆盖物标点,随着地图缩放的时候,发生了偏移。本来在路这边的标点,缩放以后,可能就显示到路对面去了。 ...
  • 高德地图 2D和3D的区别

    万次阅读 2016-04-19 14:55:24
    高德地图 2D 地图是栅格地图,采用切片的方式显示地图;3D 地图为矢量地图,采用终端绘制地图的方式,地图功能更加丰富。 3D 地图是用矢量技术前端绘制, 前端渲染效果更精细,可以实现房屋的立体,阴影,天空...
  • 高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2才全部...
  • 车主们的热情,化为高德地图和百度地图微博下网友的催更。不过,这次两家地图表现都还不错,仅过了两,百度、高德相继发布更新,增加了对Carplay分屏显示模式的支持。分屏显示模式,让Carplay能够同屏显示导航和...
  • 这个问题困扰了我三!!! 火大!!!!!!百度别人,什么api换成getscript,加scroll='false'... 各种操作,毛用没有。看代码没有任何问题,该引入的都引了,js部分try catch 下 移动端报错 AMap(BMap) is not ...
  • 高德地图---云图上传数据的坑

    千次阅读 2016-11-24 18:28:50
    我当时想应用云图是省去自己建服务器的麻烦,因为是高德东西,和高德地图一起使用的话会有良好的联动性。1.但现在发现,首先云图的功能太少,只能上传和检索显示。2.在我上传时,一直给我报格式错误,即使用的是高德...
  • 高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2才...
  • 针对第一个问题,我最开始用的osm,后来在网上搜,说是可以用百度,高德天地图,于是先研究百度,利用arcgis的BaseTileLayer图层将它显示出来,虽然出来了,但是加载arcgis做出的图层后,竟然偏移了老远,所有的点...
  • 高德地图页面会显示加入者的位置地图、距离我的距离、对方的手机电量,还有一键打电话,导航去找他的功能。啊~哪! 除了实时获取家人所在地点外,还可以设置“亲友位置提醒”。假如以家里的位置为中心,则目标走出...

空空如也

空空如也

1 2 3 4 5 6
收藏数 108
精华内容 43
关键字:

高德地图显示天地图