精华内容
下载资源
问答
  • 高德地图JS代码、地图、GPS、JS代码、高德地图、手机地图地图导航
  • 地图组成与名词解释

    2019-03-21 08:58:32
    地图组成与名词解释 本章介绍 JS API 地图的构成要素、常用名词和一些基础知识的介绍,比如经纬度、级别、地图平面坐标等。 JSAPI地图组成结构 使用高德地图 JS API 创建的地图通常由这几部分组成: 地图容器...

    地图组成与名词解释

     本章介绍 JS API 地图的构成要素、常用名词和一些基础知识的介绍,比如经纬度、级别、地图平面坐标等。   

    JS API 地图组成结构  

    使用高德地图 JS API 创建的地图通常由这几部分组成:

    地图容器 Container

           即在准备阶段所创建的指定了iddiv对象,这个div将作为承载所有图层、点标记、矢量图形、控件的容器。

    图层 Layers

           图层是指能够在视觉上覆盖一定地图范围,用来描述全部或者部分现实世界区域内的地图要素的抽象概念,一幅地图通常由一个或者多个图层组成。如上图中处于整个地图容器最下方的二维矢量图层和实施交通图层。

           高德地图 JS API 即提供了标准图层、卫星图层、路网图层、路况图层等官方标准图层接口,又提供了加载其他厂商发布的标准地图服务的图层接口,还提供了加载开发者自己的图片、Canvas、视频、热力数据的图层接口。同时也深度开放了可以自定义绘制方法的自定义图层接口。

    矢量图形 Vector Overlays

           矢量图形,一般覆盖于底图图层之上,通过矢量的方式(路径或者实际大小)来描述其形状,用几何的方式来展示真实的地图要素,会随着地图缩放而发生视觉大小的变化,但其代表的实际路径或范围不变,如上图中红框内的折线、圆、多边形等。

           除了图中的折线、圆、多边形之外,JS API 还提供了矩形、椭圆、贝瑟尔曲线等常用的矢量图形。3D 视图下的 Mesh、Prism 棱柱、MeshLine 也可以看做是一些特殊的矢量图形。

    点标记 Markers

           点标记是用来标示某个位置点信息的一种地图要素,覆盖于图层之上。如图中蓝色方框中的两个点状要素。其在屏幕上的位置会随着地图的缩放和中心变化而发生改变,但是会与图层内的要素保持相对静止。

           普通的点标记 (即 Marker ) ,支持将自定义图标和DOM元素作为展示内容。除了 Marker 之外为了满足不同的场景,JS API 另外提供了丰富的点标记类型,比如圆点标记 (CircleMarker) 、文本标记 (Text)、灵活点标记 (ElasticMarker) 。同时我们提供了海量点(MassMarks)、点聚合(MarkerCluster)来满足大量点标记的展示需求。

    地图控件 Map Controls

           控件浮在所有图层和地图要素之上,用于满足一定的交互或提示功能。一般相对于地图容器静止,不随着地图缩放和中心变化而发生位置的变化。如上图中绿色方框中的比例尺和级别控件。

     

    常用名词

    插件 Plugins

           插件是独立于JS API 地图核心模块之外的一些功能,比如服务类、绘制工具、矢量图形编辑工具、点聚合、热力图等。这些插件不会主动随 JS API的主体资源的加载而下发,使用之前需要提前引入,详见插件的使用。

    地图级别 ZoomLevel

           级别与地图的比例尺成正比,每增大一级,地图的比例尺也增大一倍,地图显示的越详细。Web地图的最小级别通常为3级,最大级别各家略有不同,高德地图 JS API 目前最大级别为 20 级。

    经纬度 LngLat

           坐标通常指经纬度坐标,高德地图的坐标范围大致为:东西经180度(-180——180,西半球为负,东半球为正),南北纬85度(-85——85,北半球为正,南半球为负)。

    底图 BaseLayer

           严格意义上,底图指处于所有图层和图形最下方的一个图层,通常不透明。可以是单一图层,比如官方标准图层,也可以是图层组合,比图卫星图层和路网图层组合。

    地图要素 Map Features

           严格意义的地图要素指的是展示在地图上的地理要素,包括道路、区域面、建筑、POI 标注、路名等。开发者自定义的点标记、矢量图形也可以看做是一种地图要素。

    标注 Labels

           我们习惯将底图上自带的标示一定信息的文字或图标称为标注,比如 POI 标注,道路名称标注等。

    地图平面像素坐标 Plane Coordinates

           地图平面像素坐标指投影为平面之后的地图上的平面像素坐标,高德地图使用的Web墨卡托投影,在3级时,平面坐标范围为横纵0-256* 2的3次方 像素,每级别扩大一倍,即第n级的平面坐标范围为 0-256*2 的 n 次方 像素。

    投影 Projection

           地图投影指的是将地球球面的经纬度坐标映射到地图平面坐标的变换和映射关系。高德地图使用 Web 墨卡托投影,即采用 EPSG:3857 坐标系统。

    三维空间坐标 3D Coordinates

           三维空间坐标是在 3D 地图模式下的世界坐标,由 xy三个纬度组成。三维空间坐标通常用于描述 Object3D 类型的几何形体。

    转自:https://lbs.amap.com/api/javascript-api/guide/abc/components

    • 分辨率和像素的关系

          像素是指照片的点数(表示照片是由多少点构成的),分辨率是指照片像素点的密度(是用单位尺寸内的像素点,一般用每英寸多少点表示--dpi)。照片实际大小是像素决定的。一个像素很大的照片,如果将分辨率设置很大的话,打印出来的照片可能并不大(但是很清晰)。反之,一个像素并不很大的照片,如果将分辨率设置得很小,那么打印出来的照片可能很大(但是不清晰)。

    • DPI和PPI

          dpi(dots per inch)是指每英寸的像素,也就是扫描精度,国际上都是计算一平方英寸面积内像素的多少。dpi越小,扫描的清晰度越低。图像的采样率(在图像中,每英寸所包含的像素数目)。

          ppi(pixels per inch)是图像分辨率的单位,图像ppi值越高,画面的细节就越丰富,因为单位面积的像素数量更多,打印分辨率(每英寸所能打印的点数,即打印精度)。

    • 分辨率的计算

           a) 分辨率与地图比例尺之间换算方法:

                    

        Scale:地图比例尺;

        Resolution:地图分辨率;

        PPI:每英寸的像素点数。

         具体参考文章: http://www.cnblogs.com/qiongmiaoer/archive/2013/03/13/2958288.html

        b) 分辨率根据定义( 实际距离/像素值 ),在大比例尺地图下可以近似的用此方法进行计算,就不考虑地球形状因素了,计算方法为:

          分辨率 res = (lng1-lng2)/ (x1-x2);

        或       res = (lat1-lat2)/(y1-y1);

    • 地图分级

          瓦片大小:256*256 像素,范围为全球。

          常用尺寸 MetrePerInch = 0.0254000508; Inch为英尺---------------------------每英尺多少米。

                      MeterPerDecode=111319.49079327357264771338267056;---------每度多少米。

    转自:https://www.cnblogs.com/de0319gh/p/3803253.html

    展开全文
  • 作为一个GISer开发者,天地图是经常在项目中以底图的形式出现,其加载地址如: 1.天地图矢量:http://t{0-6}.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z} 2.天地图影像:...
  • 百度地图(包含丰富的注释说明),简单易懂
  • 百度地图 各参数解释

    千次阅读 2019-10-23 17:46:27
    var mp = new BMap.Map("map",{ enableMapClick: false }) enableMapClick: false 默认是true,作用是 如果为false 则只是显示一个抓东西的手

     

    var mp = new BMap.Map("map",{ enableMapClick: false })
    
    enableMapClick: false 默认是true,作用是

    如果为false 则只是显示一个抓东西的手

     

     

    展开全文
  • 离线地图demo

    2018-03-13 17:01:01
    本demo完美齐全,有全国的瓦片,离线地图。相对应的瓦片。相对应的解释点击下面链接 http://blog.csdn.net/t15031179639/article/details/79542814
  • 地图学】地图投影的定义和分类

    千次阅读 多人点赞 2020-09-13 12:11:24
    一、地图投影 1、地图投影的定义 地图投影是利用一定数学法则把地球表面的经、纬线转换到平面上的理论和方法。 2、地图投影的分类 (1)按变形性质 •等角投影:投影面上两微分线段的夹角与地面上的相应两线...

    一、地图投影


    1、地图投影的定义

    地图投影是利用一定数学法则把地球表面的经、纬线转换到平面上的理论和方法。

    2、地图投影的分类

    (1)按变形性质

    等角投影: 投影面上两微分线段的夹角与地面上的相应两线段的夹角相等,及没有角度变形的投影叫 ~
    展开全文
  • 根据百度地图官方解释,在移动端 H5 页面中可监听下面这 4 个事件: touchstart, touchmove, touchend, longpress 而如果地图上监听了 click 事件,在移动端是不会执行这个事件里面的代码的。 我之前做一个需求时,...
  • 百度地图 反地址解释法 虚线连接坐标点 自动判断地图等级
  • 中国疫情地图javascript版本
  • 这是一个小样本,可以用来演示在地图上突出显示地理区域(城市,部门,州,国家/地区...)的边界。 随意使用这些样本! 这个怎么运作? 只需前往并获取API密钥即可。 将其粘贴到文件index.html的标题中,而不是...
  • 由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象。为减轻数据库压力,我上个月对公司项目做了下调整。把新闻板块提取出来单独一个站点,单独一个数据库。...各个标签的解释: <loc>
  • 此类坐标的转换函数在网上都有,这里不做过多解释 准备工作: 1、在做小程序 —- 路线规划之前,需要准备小程序APPID 以及相应使用地图的KEY值。 2、微信小程序API 之 位置 API wx.getLocation(OBJECT)、wx....
  • 官网给的解释如下: 自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。 如用户需要用到地图图表,可自行安装对应的地图文件包。 全球国家地图: ...
  • map_matching
  • echarts地图svg拓展实例

    热门讨论 2016-02-22 16:49:25
    开始在使用echarts地图的svg拓展的时候遇到required('echarts/util/mapData/params').params这里一直报错,在网上也没有很好的解释,然后就有了这个demo,给大家在学习echarts的时候提供一些方便
  • Echarts--省市级地图JS及JSON文件,仅供学习交流使用,本人不负责版本及其他问题解释
  • Description 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?...解释: 海
  • 随着基于地理位置服务的不断发展,在线地图应用(WMS)成为了人们生活中不可缺少的一部分。本文在 PC 端 WMS 大数据的基础上,以新颖的视角对用户的搜索行为和不同城市的搜索差异进行了测量、分析和理解。本文首先从...
  • osmdroid作为一个开源的项目,在在线地图上还是做的不错,离线地图上也能支持多种格式,例如:zip,sqlite,.mbtiles,gemf,map,gpkg等格式。就是不能直接加载shp文件大为苦恼。osmdroid没有可以设置坐标参考系的...

    osmdroid作为一个开源的项目,在在线地图上还是做的不错,离线地图上也能支持多种格式,例如:zip,sqlite,.mbtiles,gemf,map,gpkg等格式。就是不能直接加载shp文件大为苦恼。osmdroid没有可以设置坐标参考系的接口。只有地图坐标与屏幕坐标的转换绘制。接下来就讲讲osmdroid 在线加载谷歌瓦片。

    1、实现效果


    影像数据,加上地图标注



    影像数据,没有地图标注



    矢量数据地图

    2、在线地图地址

    package com.googlemap.online;
    
    import org.osmdroid.tileprovider.MapTile;
    import org.osmdroid.tileprovider.tilesource.XYTileSource;
    
    public class GoogleTileSource extends XYTileSource {
        //影像的叠加层 lyrs=h
        static final String[] baseUrl_GoogleLabel = new String[]{
                "http://mt1.google.cn/vt/imgtp=png32&lyrs=h@210000000&hl=en-US&gl=US&src=app&s=G",
                "http://mt2.google.cn/vt/imgtp=png32&lyrs=h@210000000&hl=en-US&gl=US&src=app&s=G",
                "http://mt3.google.cn/vt/imgtp=png32&lyrs=h@210000000&hl=en-US&gl=US&src=app&s=G"
        };
    
        //矢量底图 lyrs=m  lyrs=是指瓦片类型 有标注  在国内但有偏移,国外暂无测试
        static final String[] baseUrl_GoogleRoad = new String[]{
                "http://mt1.google.cn/vt/lyrs=m@209712068&hl=en-US&gl=US&src=app&s=G",
                "http://mt2.google.cn/vt/lyrs=m@209712068&hl=en-US&gl=US&src=app&s=G",
                "http://mt3.google.cn/vt/lyrs=m@209712068&hl=en-US&gl=US&src=app&s=G"
        };
    
    
        //影像底图 lyrs=y  有标注  在国内但有偏移,国外暂无测试
        static final String[] baseUrl_Google_cn = new String[]{
                "http://mt0.google.cn/vt/lyrs=y@126&hl=zh-CN&gl=cn&src=app&s=G",
                "http://mt1.google.cn/vt/lyrs=y@126&hl=zh-CN&gl=cn&src=app&s=G",
                "http://mt2.google.cn/vt/lyrs=y@126&hl=zh-CN&gl=cn&src=app&s=G",
                "http://mt3.google.cn/vt/lyrs=y@126&hl=zh-CN&gl=cn&src=app&s=G"
        };
    
    
        //影像底图 lyrs=s  没有标注
        static final String[] baseUrl_GoogleSatellite = new String[]{
                "http://mt0.google.cn/vt/lyrs=s@126&hl=en-US&gl=US&src=app&s=G",
                "http://mt1.google.cn/vt/lyrs=s@126&hl=en-US&gl=US&src=app&s=G",
                "http://mt2.google.cn/vt/lyrs=s@126&hl=en-US&gl=US&src=app&s=G",
                "http://mt3.google.cn/vt/lyrs=s@126&hl=en-US&gl=US&src=app&s=G"
        };
    
        String urlXYZ = "&x={$x}&y={$y}&z={$z}";
    
        public GoogleTileSource() {
            super("Google", 2, 22, 256, "png", baseUrl_GoogleRoad);
        }
    
        @Override
        public String getTileURLString(MapTile aTile) {
            String url = getBaseUrl() + urlXYZ
                    .replace("{$x}", aTile.getX() + "")
                    .replace("{$y}", aTile.getY() + "")
                    .replace("{$z}", aTile.getZoomLevel() + "");
            return url;
        }
    }
    


    我在网上找到如下解释,比较详细的解释
    地图瓦片地址:http://mt2.google.cn/vt/lyrs=m@167000000&hl=zh-CN&gl=cn&x=420&y=193&z=9&s=Galil
    详细解释下

    mt2.google.cn :Google瓦片服务服务器,可以尝试mt1.google.cn依然有效
    。Google提供多台瓦片服务器,减轻服务器负载,提高网络访问效率。
    x瓦片的横向索引,起始位置为最左边,数值为0,向右+1递增。
    y瓦片的纵向索引,起始位置为最上面,数值为0,向下+1递增。
    z地图的级别Zoom,最上一级为0,向下依次递增。(0~22)

    ​s             
    (3*x + y)%8 = s
    x , y , z 组合后与 8 求余即可得到 s 的值。​

    其它几个参数的含义

    1)mt ( 0—3)
    Google 地图使用了四个服务地址,
    即 http://mt ( 0—3).google.cn/......,都可以用。
    地图:http://mt2.google.cn/vt/lyrs=m@&hl=zh-CN&gl=cn&x=...
    影像底图:http://mt3.google.cn/vt/lyrs=s@110&hl=zh-CN&gl=cn&x=...
    影像的叠加:http://mt1.google.cn/vt/imgtp=png32&lyrs=h&hl=zh-CN&gl=cn&x=...

    2)lyrs=...
    表示的是图层类型,即瓦片类型,
    具体含义如下:
    m:路线图
    t:地形图
    ​p:带标签的地形图
    ​s:卫星图
    y:带标签的卫星图
    ​h:标签层(路名、地名等)

    3)&s=...
    暂时未发现 "&s=..." 的意义,url有无此后缀都不影响瓦片地址的访问。
    计算瓦片URL
    ​要想出图就必须知道地图控件可视范围起始点瓦片索引、末尾瓦片索引,中间区域的瓦片索引循环遍历即可得出。

    3、osmdroid调用

    package com.googlemap.online;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.DisplayMetrics;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Toast;
    
    import org.osmdroid.tileprovider.MapTileProviderBasic;
    import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
    import org.osmdroid.util.GeoPoint;
    import org.osmdroid.views.MapView;
    import org.osmdroid.views.overlay.ScaleBarOverlay;
    import org.osmdroid.views.overlay.TilesOverlay;
    import org.osmdroid.views.overlay.compass.CompassOverlay;
    import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
    import org.osmdroid.views.overlay.gestures.RotationGestureOverlay;
    import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
    import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay;
    
    public class MainActivity extends Activity  implements View.OnClickListener {
    
        private MapView mapView;
        //et地图旋转
        private RotationGestureOverlay mRotationGestureOverlay;
        //比例尺
        private ScaleBarOverlay mScaleBarOverlay;
        //指南针方向
        private CompassOverlay mCompassOverlay = null;
        //设置导航图标的位置
        private MyLocationNewOverlay mLocationOverlay;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            initView();
        }
    
        private void initView() {
    
            findViewById(R.id.button1).setOnClickListener(this);
    
            mapView = (MapView) findViewById(R.id.mymapview);
            mapView.setDrawingCacheEnabled(true);
            mapView.setMaxZoomLevel(22);
            mapView.setMinZoomLevel(6);
            mapView.getController().setZoom(12);
            //加载谷歌地图,设置地图数据源的形式
            mapView.setTileSource(new GoogleTileSource());
    
            mapView.setUseDataConnection(true);
            mapView.setMultiTouchControls(true);// 触控放大缩小
            //是否显示地图数据源
            mapView.getOverlayManager().getTilesOverlay().setEnabled(true);
    
            //地图自由旋转
            mRotationGestureOverlay = new RotationGestureOverlay(mapView);
            mRotationGestureOverlay.setEnabled(true);
            mapView.getOverlays().add(this.mRotationGestureOverlay);
    
            //比例尺配置
            final DisplayMetrics dm = getResources().getDisplayMetrics();
            mScaleBarOverlay = new ScaleBarOverlay(mapView);
            mScaleBarOverlay.setCentred(true);
            mScaleBarOverlay.setAlignBottom(true); //底部显示
            mScaleBarOverlay.setScaleBarOffset(dm.widthPixels / 5, 80);
            mapView.getOverlays().add(this.mScaleBarOverlay);
    
            //指南针方向
            mCompassOverlay = new CompassOverlay(this, new InternalCompassOrientationProvider(this),
                    mapView);
            mCompassOverlay.enableCompass();
            mapView.getOverlays().add(this.mCompassOverlay);
    
            //设置导航图标
            this.mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(this),
                    mapView);
            mapView.getOverlays().add(this.mLocationOverlay);
            mLocationOverlay.enableMyLocation();  //设置可视
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.button1:
                    //定位当前的位置,并设置缩放级别
                    mapView.getController().setZoom(18);
                    mapView.getController().setCenter(new GeoPoint(23.12648183, 113.365548756));
                    break;
                default:
                    break;
            }
        }
    
        //增加图层的形式
        public void initExtendMap() {
            MapTileProviderBasic mapTileProviderBasic =
                    new MapTileProviderBasic(this, new GoogleTileSource());
            TilesOverlay tilesOverlay = new TilesOverlay(mapTileProviderBasic, this);
            mapView.getOverlays().add(tilesOverlay);
    
        }
    
        @Override
        public void onPause() {
            super.onPause();
        }
    
    
        @Override
        public void onResume() {
            super.onResume();
        }
    }
    

    4、记得权限

    还有网上下载瓦片数据需要存储的权限

    定位,联网的权限

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.INTERNET" />

    5、测试注意

    在线瓦片加载后是有缓存,有时候比较缓慢。默认缓存是放在根目录下面的osmdroid文件夹。如果你一个app出现多次测试不同的在线资源,有可能出现叠加的情况。出现就删除缓存吧。还有测试时候最好定位一下你当前的位置,比较好确认。

    博客源码下载:http://download.csdn.net/download/qq_16064871/10168741

    展开全文
  • react-native调起第三方高德地图导航URL解释做react-native地图应用时,主要使用的是高德地图,所以在导航上也准备调起高德地图应用来完成导航功能,在高德地图API官网并没有发现高德地图应用的URL(这里就不得不说...
  • 高德地图加载谷歌地图瓦片

    千次阅读 热门讨论 2019-08-17 17:11:01
    安卓加载谷歌地图简介技术路线实现...调查了其他地图,如腾讯地图、百度地图、Bing地图和谷歌地图等,发现Bing和谷歌卫星地图分辨率基本能够满足作业需求,在这两者之中,Bing地图图源较老,最终决定将谷歌卫星地...
  • 地图整饰-概述

    千次阅读 2016-11-21 23:12:18
    地图整饰-概述 by 李远祥 在GIS制图的过程中,也许会有人很多不会涉及到地图整饰。因为GIS大部分都是服务于信息系统,又或者直接面向解决问题。所以,一般情况下,对于制图来说,不外乎就是GIS应用的数据表现或者是...
  • 基于GraphHopper的地图匹配 使用将GPX轨迹捕捉到道路上。 在了解有关地图匹配问题的更多信息。 观看实际的演示(黑色是GPS轨迹,绿色是匹配结果): 执照 Apache许可2.0 讨论区 我们的网络论坛在。 用法 Java 8和...
  • 本文是关于slam建图过程中使用的栅格地图解释了栅格地图的工作原理,即概率累积的原理。是我自己整理的好多博客的内容。
  • awesome-wardley-maps:沃德利地图社区中心。 有用的Wardley映射资源
  • android 百度地图离线地图功能

    万次阅读 热门讨论 2016-07-20 17:48:30
    最近做了一个百度地图离线地图的功能,虽然功能实现了,但过程中也碰到了一些问题。首先,看看效果图吧。 1、离线地图相关APIMKOfflineMap类主要的一个类,提供了离线地图的管理功能,例如,下载,暂停、更新,...
  • 地图匹配实例-几何匹配

    千次阅读 2021-03-14 20:22:50
    由于苦心钻研了好久才弄明白,所以选择了对知识的收费,货真价实:效果图如下...说一下地图匹配的性质,我这个方法是对点的最近的线进行的几何性质的匹配,也就是说垂直映射到最近的线上,不需要的可以无需购买。 ...
  • 知识地图

    千次阅读 2019-06-17 00:00:00
    最近从书本上看到这个词语,知识地图。想了下那自己随便画画,权当梳理自己的能力结构,于是就画出来如下图:当然了,这里面很多是没做好的,只是自己在思考的东西,画下来之后,对于...
  • AMap(地图组成与名词解释

    千次阅读 2020-01-10 11:25:59
    使用高德地图 JS API 创建的地图通常由这几部分组成: 地图容器(Container)   即在准备阶段所创建的指定了id的div对象,这个div将作为承载所有图层、点标记、矢量图形、控件的容器。 图层(Layers)   图层...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,617
精华内容 23,046
关键字:

地图解释