精华内容
下载资源
问答
  • 高德地图底图
    2020-12-25 10:34:39

    在利用arcgis api js4.15的开发过程中,遇到两个问题,一个是底图显示缓慢,甚至有的客户机都不出来;一个是对象图层点过多,显示不出来,或者报timeout。

    针对第一个问题,我最开始用的osm,后来在网上搜,说是可以用百度,高德,天地图,于是先研究百度,利用arcgis的BaseTileLayer图层将它显示出来,虽然出来了,但是加载arcgis做出的图层后,竟然偏移了老远,所有的点都跑海里去了。没办法,只好换高德。第一次我同事找的,虽然也显示出来了,但是地图不是最新的。于是又是海量搜索,最后,终于发现一个最新的,并且业务图层图上去以后完全吻合(附带点击事件,可以弹出坐标点的位置,测试是否有偏移)

    本着资源共享的原则,将案例列出来,供大家参考。

    针对第二个问题,正在研究中……

    第一个问题的资源下载链接:https://download.csdn.net/download/qiulei_21/13777875

    资源链接中,js4.15我用的官网的,大家开发的时候,最好有自己离线的api,这样就不用依赖网络环境了。如果有需要的,我有空了,可以上传一个。

     

    更多相关内容
  • 利用arcgis api开发,底图选择osm在某一些客户机上运行缓慢,或底图不出来。利用高德地图作为底图,这个比较准确,没有坐标偏移
  • (可做底图,直接在arcmap中加载),多用于出图、辅助制图等、自带注记
  • arcgis在线图层加载插件,可以加载百度地图、高德地图等在线地图。...用于arcmap加载天地图、谷歌地图、高德地图、BingMap作为底图,安装之后,在工具栏上右键勾选simple gis即可显示底图加载工具栏。
  • 将js引用地址中的key替换,如果是PC端,请允许浏览器定位
  • 源代码提供高德地图风场效果,下载解压后,本地启动静态服务,即可看风场特效;本demo地图地图是基于高德地图,同时支持百度地图、天地图等作为底图
  • Cesium 常用地图纠偏 百度、高德、Arcgis、腾讯地图纠偏 资源预览:http://dongnan185.com:8083/videos/jiupian.mp4 启动:npm i npm run serve
  • 下载poi点数据 以及下载道路和小区等矢量数据 坐标系为wgs84 自己定义即可 另外下载数据出点数据外 属性不全
  • 不是导入project,请一定导入module!! 更多高德相关请查看本人博客:https://blog.csdn.net/xiayiye5/article/category/8777970
  • 高德地图矢量爬取软件(建筑、路网、兴趣点、路况)
  • 地图底图切换方法2

    2018-11-04 15:17:40
    地图底图切换方法2:自写代码,通过点击缩略图对ESRI_StreetMap_World_2D、NGS_Topo_US_2D和ESRI_Imagery_World_2D进行的地图底图的切换,可以缩放以及联动。用到css控制样式、html和JavaScript。
  • mapboxwms天地图,高德地图,谷歌地图,使用最新mapbox,基类封装
  • 主要介绍了Android 仿高德地图可拉伸的BottomSheet的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 该资源包的执行效果查看地址:https://blog.csdn.net/m0_60387551/article/details/123184049 “地图之家”专栏中的“3.(cesium篇)cesium接入高德、osm、谷歌、arcgis、mapbox地图”。如下载有问题,可联系博主。
  • 基于高德地图底图的离线地图,北京地区1-16级,windows版,可web直接访问,运行exe之后浏览器访问http://localhost:11001/web/map.html即可,需要其他地区或更详细等级请邮件NorthPhantom@126.com,共5个分包
  • 高德地图更换天地图底图(坐标转换)—使用高德API(WMTS)

    踩坑日记:因高德地图无法对村镇进行边界图的绘制,故引入天地图作为补充以解决问题

    一、首先是对坐标进行转换,因为高德地图是火星坐标,而天地图是wgs84墨卡托4490,所以必须进行如下转换

    ①先把高德地图经纬度转换为wgs84经纬度,这个库是gcoord.js,使用方法自行百度

    var binzhou84 = gcoord.transform (
                [117.96484387440898, 37.38205313024871],
                gcoord.GCJ02,
                gcoord.WGS84,

    ②然后使用一个固定函数将wgs84经纬度转化为墨卡托4490,然后将返回的墨卡托4490对象,使用高德地图初始化时赋值给center

    function lonlat2mercator(a,b) {
                var mercator = {
                  x: 0,
                  y: 0
                };
                  var x = a * 20037508.34 / 180;
                  var y = Math.log(Math.tan((90 + b) * Math.PI / 360)) / (Math.PI / 180);
                  y = y * 20037508.34 / 180;
                  mercator.x = x;
                  mercator.y = y;
                  return mercator;
              }

    二、其次是使用高德地图API(WMTS)进行底图的更换

    高德地图的API文档中并没有具体使用方法,以下是针对天地图的使用方法

    因为天地图的原因,所以请求的链接只能使用墨卡托类型的(见下图红色箭头)

    下述链接为天地图API接口:

    天地图API

     

    // 调用wmts服务更换目标底图
              var wms  = new AMap.TileLayer.WMTS({
                url: 'http://t0.tianditu.gov.cn/vec_w/wmts',
                blend: false,
                tileSize: 256,
                params: {
                  SERVICE:'WMTS',
                  VERSION:'1.0.0',
                  REQUEST:'GetTile',
                  LAYER:'vec',
                  STYLE:'default',
                  TILEMATRIXSET:'w',
                  FORMAT:'tiles',
                  tk:'26ed1e9f78431ad1a6d6b99d82acc5f6'
    // 注意参数中的LAYER:'vec'和TILEMATRIXSET:'w',这两个要与链接中的vec_w对应
                }
              })
              wms.setMap(this.map);

     

    展开全文
  • 实现在地图中指定区域显示自定义图片,并支持指定层级放大缩小, 点击链接预览效果 https://pi-ip.oss-cn-hangzhou.aliyuncs.com/map/map.html
  • 高德地图 火星坐标(GCJ-02) 微信小程序中使用的是腾讯地图作为底图。因此如果使用百度地图时,需要注意坐标的转换。此类坐标的转换函数在网上都有,这里不做过多解释 准备工作: 1、在做小程序 —- 路线规划之前,...
  • //初始化地图 function initMapNew(){ //定义谷歌卫星切片图层 var googleLayer = new AMap.TileLayer({ getTileUrl: 'http://mt{1,2,3,0}.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=[x]&y=[y]&...

    //初始化地图
    function initMapNew(){

        //定义谷歌卫星切片图层
        var googleLayer = new AMap.TileLayer({
              getTileUrl: 'http://mt{1,2,3,0}.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=[x]&y=[y]&z=[z]&s=Galile'
            });
        map = new AMap.Map(id,{
            resizeEnable:true,
            zoom:zoom,
            center:[117.219499,39.015873],
        });
        AMapUI.loadUI(['control/BasicControl'], function(BasicControl) {
        
            //图层切换控件
            map.addControl(new BasicControl.LayerSwitcher({
                position: 'rt',
                baseLayers: [{
                    enable: true,
                    id: 'tile',
                    name: '矢量图',
                    layer: new AMap.TileLayer()
                }, {
                    id: 'satellite',
                    name: '谷歌影像图',
                    layer: googleLayer
                }],
            }));
        });

        //显示工具条
        map.plugin(["AMap.ToolBar"],function(){
            //加载工具条
            var tool = new AMap.ToolBar();
            map.addControl(tool);    
        });

    }

    展开全文
  • 原生 JavaScript 仿 有赞商户后台,介入高德地图,实现地图自定义区域矩形划分并绑定 ui 层,几乎每行代码都有注释,方便修改理解。 适用多个项目领域,如:外卖送货、共享单车区域划分、配送商品等。 纯前端...
  • 使用此插件可以在arcmap10.2中加载在线地图,先运行setup文件,在运行addin(双击即可)然后以管理员身份运行arcmap即可,若出现许可错误,重新获取许可即可
  • 从 3D 地图 SDK V4.1.3版本开始支持自定义地图底图功能。 功能说明:支持对部分地图元素自定义颜色,包括:填充色、边框色、文字颜色。 先上图,我自己做出来的自定义地图(底图) 效果图就是以上这样,下面来说...

    官网上介绍:地址链接
    从 3D 地图 SDK V4.1.3版本开始支持自定义地图底图功能。
    功能说明:支持对部分地图元素自定义颜色,包括:填充色、边框色、文字颜色。
    先上图,我自己做出来的自定义地图(底图)
    这里写图片描述

    效果图就是以上这样,下面来说一下实现的步骤
    1.高德环境集成
    集成步骤请进高德开发者平台去安装步骤进行
    注意:自定义的图层所需的地图是3D地图
    2.布局文件

    ?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="zph.zhjx.com.chat.ui.TrackActivity">
        <include
            android:id="@+id/headview1"
            layout="@layout/headview1"/>
        <com.amap.api.maps.MapView
            android:layout_below="@+id/headview1"
            android:id="@+id/tracked_map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:focusable="true"
           >
        </com.amap.api.maps.MapView>
       </RelativeLayout>
    

    3.核心代码
    支持自定义的具体元素和项目,请见下表:

    featureType(地图元素)geometry.fill(填充色)geometry.stroke(边框色)labels.text.fill(文字填充色)labels.text.stroke(文字边框色)
    land(陆地)✔️
    water (水系)✔️
    green (绿地)✔️
    building (楼块)✔️✔️
    Highway (高速及城市主道路)✔️✔️✔️✔️
    Local (普通道路)✔️
    Railway (铁路)✔️✔️
    Subway (地铁)✔️✔️
    Boundary (行政区)✔️✔️
    Districtlabel (行政区文字)✔️✔️
    Poilabel (所有文字,除行政区&道路文字)✔️✔️

    根据支持自定义的具体元素和项目,我编写的JSON配置文件如下:
    style_json.json
    在Android studio中java目录下建立assets文件夹
    将style_json.json放置到该目录下

    [
      {
        "featureType":"land",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#08304B"
        }
      },
      {
        "featureType":"land",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#021019"
        }
      },
      {
        "featureType":"land",
        "elementType":"labels.text.fill",
        "stylers":{
          "color":"#847F7F"
        }
      },
      {
        "featureType":"water",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#021019"
        }
      },
      {
        "featureType":"water",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#08304B"
        }
      },
      {
        "featureType":"green",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#b0d3dd"
        }
      },
      {
        "featureType":"green",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#33A1C9"
        }
      },
      {
        "featureType":"building",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#021019"
        }
      },
      {
        "featureType":"building",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":""
        }
      },
      {
        "featureType":"highway",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#a6cfcf"
        }
      },
      {
        "featureType":"highway",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#7dabb3"
        }
      },
      {
        "featureType":"highway",
        "elementType":"labels.text.fill",
        "stylers":{
          "color":"#8B4513"
        }
      },
      {
        "featureType":"highway",
        "elementType":"labels.text.stroke",
        "stylers":{
          "color":"#33A1C9"
        }
      },
      {
        "featureType":"arterial",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#a6cfcf"
        }
      },
      {
        "featureType":"arterial",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#a6cfcf"
        }
      },
      {
        "featureType":"arterial",
        "elementType":"labels.text.fill",
        "stylers":{
          "color":"#8B4513"
        }
      },
      {
        "featureType":"arterial",
        "elementType":"labels.text.stroke",
        "stylers":{
          "color":"#8B4513"
        }
      },
      {
        "featureType":"local",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#f1f1f1"
        }
      },
      {
        "featureType":"railway",
        "elementType":"geometry.fill",
        "stylers":{
          "color":""
        }
      },
      {
        "featureType":"railway",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":""
        }
      },
      {
        "featureType":"subway",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#33A1C9"
        }
      },
      {
        "featureType":"subway",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#33A1C9"
        }
      },
      {
        "featureType":"boundary",
        "elementType":"geometry.fill",
        "stylers":{
          "color":"#33A1C9"
        }
      },
      {
        "featureType":"boundary",
        "elementType":"geometry.stroke",
        "stylers":{
          "color":"#f1f1f1"
        }
      },
      {
        "featureType":"poilabel",
        "elementType":"labels.text.fill",
        "stylers":{
          "color":"#f5f5f5"
    
        }
      },
      {
        "featureType":"poilabel",
        "elementType":"labels.text.stroke",
        "stylers":{
          "color":""
        }
      },
      {
        "featureType":"districtlable",
        "elementType":"labels.text.fill",
        "stylers":{
          "color":"#00affe"
        }
      },
      {
        "featureType":"districtlable",
        "elementType":"labels.text.stroke",
        "stylers":{
          "color":""
        }
      }
    ]

    设定文件路径
    官网说明如下:

    1、将配置好的样式文件放入任意路径,比如”/sdcard/custom_config”
    2、设定地图样式文件的路径,通过以下方法设定自定义地图样式文件的绝对路径:
    百度地图的自定义底图是要求在地图初始话之前要进行样式路径设置,在高德地图中可以不这样做
    我的设计是将assets中的style_json.json文件读写到手机的文件夹下面,然后设置路径为手机的路径
    首先是本地文件工具类建立

    public class FileUtil {
        private static int bufferd = 1024;
    
        private FileUtil() {
        }
    
        /*
         * <!-- 在SDCard中创建与删除文件权限 --> <uses-permission
         * android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!--
         * 往SDCard写入数据权限 --> <uses-permission
         * android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
         */
    
        // =================get SDCard information===================
        public static boolean isSdcardAvailable() {
            String status = Environment.getExternalStorageState();
            if (status.equals(Environment.MEDIA_MOUNTED)) {
                return true;
            }
            return false;
        }
    
        public static long getSDAllSizeKB() {
            // get path of sdcard
            File path = Environment.getExternalStorageDirectory();
            StatFs sf = new StatFs(path.getPath());
            // get single block size(Byte)
            long blockSize = sf.getBlockSize();
            // 获取所有数据块数
            long allBlocks = sf.getBlockCount();
            // 返回SD卡大小
            return (allBlocks * blockSize) / 1024; // KB
        }
    
        /**
         * free size for normal application
         *
         * @return
         */
        public static long getSDAvalibleSizeKB() {
            File path = Environment.getExternalStorageDirectory();
            StatFs sf = new StatFs(path.getPath());
            long blockSize = sf.getBlockSize();
            long avaliableSize = sf.getAvailableBlocks();
            return (avaliableSize * blockSize) / 1024;// KB
        }
    
        // =====================File Operation==========================
        public static boolean isFileExist(String director) {
            File file = new File(Environment.getExternalStorageDirectory()
                    + File.separator + director);
            return file.exists();
        }
    
        /**
         * create multiple director
         *
         * @param director
         * @return
         */
        public static boolean createFile(String director) {
            if (isFileExist(director)) {
                return true;
            } else {
                File file = new File(Environment.getExternalStorageDirectory()
                        + File.separator + director);
                if (!file.mkdirs()) {
                    return false;
                }
                return true;
            }
        }
    
        public static File writeToSDCardFile(String directory, String fileName,
                                             String content, boolean isAppend) {
            return writeToSDCardFile(directory, fileName, content, "", isAppend);
        }
    
        /**
         *
         * @param directory
         *            (you don't need to begin with
         *            Environment.getExternalStorageDirectory()+File.separator)
         * @param fileName
         * @param content
         * @param encoding
         *            (UTF-8...)
         * @param isAppend
         *            : Context.MODE_APPEND
         * @return
         */
        public static File writeToSDCardFile(String directory, String fileName,
                                             String content, String encoding, boolean isAppend) {
            // mobile SD card path +path
            File file = null;
            OutputStream os = null;
            try {
                if (!createFile(directory)) {
                    return file;
                }
                file = new File(Environment.getExternalStorageDirectory()
                        + File.separator + directory + File.separator + fileName);
                os = new FileOutputStream(file, isAppend);
                if (encoding.equals("")) {
                    os.write(content.getBytes());
                } else {
                    os.write(content.getBytes(encoding));
                }
                os.flush();
            } catch (IOException e) {
                Log.e("FileUtil", "writeToSDCardFile:" + e.getMessage());
            } finally {
                try {
                    if(os != null){
                        os.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return file;
        }
    
        /**
         * write data from inputstream to SDCard
         */
        public File writeToSDCardFromInput(String directory, String fileName,
                                           InputStream input) {
            File file = null;
            OutputStream os = null;
            try {
                if (createFile(directory)) {
                    return file;
                }
                file = new File(Environment.getExternalStorageDirectory()
                        + File.separator + directory + fileName);
                os = new FileOutputStream(file);
                byte[] data = new byte[bufferd];
                int length = -1;
                while ((length = input.read(data)) != -1) {
                    os.write(data, 0, length);
                }
                // clear cache
                os.flush();
            } catch (Exception e) {
                Log.e("FileUtil", "" + e.getMessage());
                e.printStackTrace();
            } finally {
                try {
                    os.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            return file;
        }
    
        /**
         * this url point to image(jpg)
         *
         * @param url
         * @return image name
         */
        public static String getUrlLastString(String url) {
            String[] str = url.split("/");
            int size = str.length;
            return str[size - 1];
        }
    }

    然后,在Activity中进行核心代码编写

    package zph.zhjx.com.chat.ui;
    
    import android.os.Bundle;
    import android.os.Environment;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.HorizontalScrollView;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    
    import com.amap.api.location.AMapLocation;
    import com.amap.api.location.AMapLocationClient;
    import com.amap.api.location.AMapLocationClientOption;
    import com.amap.api.location.AMapLocationListener;
    import com.amap.api.maps.AMap;
    import com.amap.api.maps.CameraUpdate;
    import com.amap.api.maps.CameraUpdateFactory;
    import com.amap.api.maps.LocationSource;
    import com.amap.api.maps.MapView;
    import com.amap.api.maps.model.CameraPosition;
    import com.amap.api.maps.model.LatLng;
    import com.bumptech.glide.Glide;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.List;
    
    import zph.zhjx.com.chat.R;
    import zph.zhjx.com.chat.base.BaseActivity;
    import zph.zhjx.com.chat.dao.People;
    import zph.zhjx.com.chat.util.BitmapUtil;
    import zph.zhjx.com.chat.util.DBUtil;
    import zph.zhjx.com.chat.util.FileUtil;
    import zph.zhjx.com.chat.view.CircleImageView;
    
    public class TrackActivity extends BaseActivity implements  AMap.OnMapLoadedListener, AMap.OnMapTouchListener, LocationSource, AMapLocationListener, View.OnClickListener, AMap.OnCameraChangeListener {
        private View headview;
        private LinearLayout back;
        private TextView title;
        private MapView mapview;
        private AMap aMap;
        private OnLocationChangedListener mListener;
        private AMapLocationClient mlocationClient;
        private AMapLocationClientOption mLocationOption;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_track);
    
            initview();
            initMap(savedInstanceState);
        }
        /**
         * 初始化地图
         * */
        private void initMap(Bundle savedInstanceState) {
            mapview.onCreate(savedInstanceState);
            if (aMap == null) {
                aMap = mapview.getMap();
                Log.i("TAG","11111");
                mapview.setSelected(true);
                setBlueMap();
            }
            aMap.setLocationSource(this);// 设置定位监听
            aMap.setOnMapLoadedListener(this);
            aMap.setOnMapTouchListener(this);
            aMap.setOnCameraChangeListener(this);
        }
    
        private void setBlueMap() {
            //进行JSON的文件读取然后写入到本地
            InputStreamReader isr = null;
            try {
                isr = new InputStreamReader(getAssets().open("style_json/style_json.json"),"UTF-8");
            } catch (IOException e) {
                e.printStackTrace();
            }
            BufferedReader br = new BufferedReader(isr);
            String line;
            StringBuilder builder = new StringBuilder();
            try {
                while((line = br.readLine()) != null){
                    builder.append(line);
                }
    
                br.close();
                isr.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            //写入到本地目录中
            FileUtil.writeToSDCardFile("style_json","style.json",builder.toString(),true);
            //加载个性化的地图底图数据
            aMap.setCustomMapStylePath(Environment.getExternalStorageDirectory()
                    + File.separator+"style_json/style.json");
            //开启自定义样式
            aMap.setMapCustomEnable(true);
            aMap.getUiSettings().setMyLocationButtonEnabled(false);// 设置默认定位按钮是否显示
            aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
        }
    
        private void initview() {
            mapview= (MapView) findViewById(R.id.tracked_map);
            headview=findViewById(R.id.headview1);
            back= (LinearLayout) headview.findViewById(R.id.headview_left_layout);
            back.setOnClickListener(this);
            title= (TextView) headview.findViewById(R.id.headview_left_textview);
            title.setText("行为轨迹"+"");
    
        }
    
        @Override
        public void activate(OnLocationChangedListener onLocationChangedListener) {
            mListener = onLocationChangedListener;
            if (mlocationClient == null) {
                mlocationClient = new AMapLocationClient(this);
                mLocationOption = new AMapLocationClientOption();
                //设置定位监听
                mlocationClient.setLocationListener(this);
                //设置为高精度定位模式
                mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
                //设置多少秒去刷新位置
                mLocationOption.setInterval(10*1000);
                //设置定位参数
                mlocationClient.setLocationOption(mLocationOption);
                // 此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
                // 注意设置合适的定位时间的间隔(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求
                // 在定位结束后,在合适的生命周期调用onDestroy()方法
                // 在单次定位情况下,定位无论成功与否,都无需调用stopLocation()方法移除请求,定位sdk内部会移除
                mlocationClient.startLocation();
            }
        }
    
        @Override
        public void deactivate() {
            //停止定位
            mListener = null;
            if (mlocationClient != null) {
                mlocationClient.stopLocation();
                mlocationClient.onDestroy();
            }
            mlocationClient = null;
        }
    
        @Override
        public void onMapLoaded() {
    
        }
    
        @Override
        public void onTouch(MotionEvent motionEvent) {
    
        }
    
        @Override
        public void onLocationChanged(AMapLocation amapLocation) {
            if (mListener != null && amapLocation != null) {
                if (amapLocation != null && amapLocation.getErrorCode() == 0) {
                    mListener.onLocationChanged(amapLocation);// 显示系统小蓝点
                    //TODO
                    //当定位好了以后,拿到经纬度
                    double lat = amapLocation.getLatitude();
                    double lng = amapLocation.getLongitude();
                    LatLng latlng = new LatLng(lat, lng);
                    //移动到定位处
                    CameraUpdate movecity = CameraUpdateFactory.newLatLngZoom(latlng,9);
                    aMap.moveCamera(movecity);
                    deactivate();
    //                showListView();
                } else {
                    String errText = "定位失败," + amapLocation.getErrorCode() + ": " + amapLocation.getErrorInfo();
                    Log.i("TAG", errText);
                }
            }
            else{
    
            }
        }
    
    
    
        /**
         * 方法必须重写
         */
        @Override
        protected void onResume() {
            super.onResume();
            mapview.onResume();
        }
    
        /**
         * 方法必须重写
         */
        @Override
        protected void onPause() {
            super.onPause();
            mapview.onPause();
            deactivate();
        }
    
        /**
         * 方法必须重写
         */
        @Override
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);
            mapview.onSaveInstanceState(outState);
    //        initMap(outState);
        }
    
        @Override
        protected void onRestoreInstanceState(Bundle savedInstanceState) {
            super.onRestoreInstanceState(savedInstanceState);
            initMap(savedInstanceState);
        }
    
        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.headview_left_layout:
                    this.finish();
                    break;
    
            }
        }
    
        @Override
        public void onCameraChange(CameraPosition cameraPosition) {
            if(horizontalScrollView.getVisibility()==View.VISIBLE){
                horizontalScrollView.setVisibility(View.INVISIBLE);
            }
        }
    
        @Override
        public void onCameraChangeFinish(CameraPosition cameraPosition) {
            if(horizontalScrollView.getVisibility()==View.INVISIBLE){
                horizontalScrollView.setVisibility(View.VISIBLE);
            }
            Log.i("TAG","当前地图的层级:"+aMap.getCameraPosition().zoom);
        }
    }
    

    以上是全部内容,其中不包含在Android studio中的高德地图环境集成。

    展开全文
  • 使用高德地图Web服务-路径规划,用ArcGIS api for JS将数据显示在天地图底图上 用于两地之间的交通建议 Hbuild工程,jQuery,ArcGIS JS,天地图
  • 高德地图使用自定义地图无效问题
  • python 高德地图

    2022-05-02 17:33:52
    import requests import json KEY = '<831894c7f8fe1d2bedb982a040536650>' CITY = '成都市' ADDRESS = '龙湖源著11号' OUTPUT = 'json' url = 'http://restapi.amap.com/v3/geocode/geo?parameters' ....
  • 为Arcgis的插件,安装简单,在gis界面会出现工具条选择相应地图
  • 高德地图自定义地图样式

    千次阅读 2019-10-15 16:29:14
    高德地图开放平台官网的jsAPI中提供了自定义地图的方法: 其中官方提供了10个主题来给开发者们使用 但10个主题并不能满足所有场景,所以官方还提供了自定义地图样式的方法: (1)进入自定义页面,点击创建地图...
  • ArcGIS API for JavaScript 加载高德地图。加载高德地图

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,781
精华内容 1,512
关键字:

高德地图底图