高德地圖由哪幾部分組成
一、總結
一句話總結:
地圖容器 Container
即在准備階段所創建的指定了id
的div
對象,這個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
控件浮在所有圖層和地圖要素之上,用於滿足一定的交互或提示功能。一般相對於地圖容器靜止,不隨着地圖縮放和中心變化而發生位置的變化。如上圖中綠色方框中的比例尺和級別控件。
1、高德地圖中的插件如何使用?
插件 Plugins
插件是獨立於JS API 地圖核心模塊之外的一些功能,比如服務類、繪制工具、矢量圖形編輯工具、點聚合、熱力圖等。這些插件不會主動隨 JS API的主體資源的加載而下發,使用之前需要提前引入,詳見插件的使用。
2、高德地圖中的地圖級別 ZoomLevel是什么?
地圖級別 ZoomLevel
級別與地圖的比例尺成正比,每增大一級,地圖的比例尺也增大一倍,地圖顯示的越詳細。Web地圖的最小級別通常為3級,最大級別各家略有不同,高德地圖 JS API 目前最大級別為 20 級。
3、經緯度的取值范圍是是多少?
經緯度 LngLat
坐標通常指經緯度坐標,高德地圖的坐標范圍大致為:東西經180度(-180
——180
,西半球為負,東半球為正),南北緯85度(-85
——85
,北半球為正,南半球為負)。
4、底圖 BaseLayer是什么?
底圖 BaseLayer
嚴格意義上,底圖指處於所有圖層和圖形最下方的一個圖層,通常不透明。可以是單一圖層,比如官方標准圖層,也可以是圖層組合,比圖衛星圖層和路網圖層組合。
5、地圖要素是什么?
地圖要素 Map Features
嚴格意義的地圖要素指的是展示在地圖上的地理要素,包括道路、區域面、建築、POI 標注、路名等。開發者自定義的點標記、矢量圖形也可以看做是一種地圖要素。
6、標注是什么?
標注 Labels
我們習慣將底圖上自帶的標示一定信息的文字或圖標稱為標注,比如 POI 標注,道路名稱標注等。
7、地圖平面像素坐標 Plane Coordinates是什么?
地圖平面像素坐標 Plane Coordinates
地圖平面像素坐標指投影為平面之后的地圖上的平面像素坐標,高德地圖使用的Web墨卡托投影,在3級時,平面坐標范圍為橫縱0-256* 2的3次方 像素,每級別擴大一倍,即第n級的平面坐標范圍為 0-256*2 的 n 次方 像素。
8、投影 Projection是什么?
投影 Projection
地圖投影指的是將地球球面的經緯度坐標映射到地圖平面坐標的變換和映射關系。高德地圖使用 Web 墨卡托投影,即采用 EPSG:3857
坐標系統。
9、三維空間坐標 3D Coordinates是什么?
三維空間坐標 3D Coordinates
三維空間坐標是在 3D 地圖模式下的世界坐標,由 x
、y
、z
三個緯度組成。三維空間坐標通常用於描述 Object3D
類型的幾何形體。
二、地圖組成與名詞解釋
本章介紹 JS API 地圖的構成要素、常用名詞和一些基礎知識的介紹,比如經緯度、級別、地圖平面坐標等。
JS API 地圖組成結構

使用高德地圖 JS API 創建的地圖通常由這幾部分組成:
地圖容器 Container
即在准備階段所創建的指定了id
的div
對象,這個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 地圖模式下的世界坐標,由 x
、y
、z
三個緯度組成。三維空間坐標通常用於描述 Object3D
類型的幾何形體。
https://lbs.amap.com/api/javascript-api/guide/abc/components