前言
關(guān)于本篇功能實(shí)現(xiàn)用到的 api 涉及類看不懂的,請參照 esri 官網(wǎng)的 arcgis api 3.x for js:esri 官網(wǎng) api,里面詳細(xì)的介紹 arcgis api 3.x 各個(gè)類的介紹,還有就是在線例子:esri 官網(wǎng)在線例子,這個(gè)也是學(xué)習(xí) arcgis api 3.x 的好素材。
內(nèi)容概覽
- 基于 arcgis api 3.x 實(shí)現(xiàn)最近設(shè)施點(diǎn)路徑分析
- 源代碼 demo 下載
本篇實(shí)現(xiàn)最近設(shè)施點(diǎn)路徑分析功能,截圖如下:

image
關(guān)鍵技術(shù)實(shí)現(xiàn)知識點(diǎn)
- 最近設(shè)施點(diǎn)的網(wǎng)絡(luò)分析服務(wù):http://localhost:6080/arcgis/rest/services/dlClosestFacility/NAServer/Closest+Facility

image
- 最近設(shè)施點(diǎn)分析的參數(shù)名稱為:RouteClosestFacilityParameters,同樣它也繼承自 BaseRouteParameters。其主要的參數(shù)(屬性)有:

image
- 初始化 RouteTask:
//初始化事故點(diǎn)以及應(yīng)急資源圖層
ems.route.params = new esri.tasks.ClosestFacilityParameters();
ems.route.params.defaultCutoff= 7.0;
ems.route.params.defaultTargetFacilityCount = 6.0;
ems.route.params.returnFacilities=true;
ems.route.params.returnIncidents=true;
ems.route.params.returnRoutes=true;
ems.route.params.returnDirections=true;
ems.route.closestFacilityTask = new esri.tasks.ClosestFacilityTask(MapConfig.routeUrl);
整體實(shí)現(xiàn)的流程
- 點(diǎn)擊地圖某點(diǎn),以該點(diǎn)為中心,以一定半徑來畫圓形(esri.geometry.Circle)
- 以圓形的范圍的 geometry,作為 query 的 geometry 條件,查詢餐飲點(diǎn)圖層,獲取范圍內(nèi)的餐飲點(diǎn)總數(shù)作為 route.params.facilities 參數(shù)值,中心點(diǎn)為 route.params.incidents 參數(shù)值
- 初始化 RouteTask 的參數(shù)條件之后,可以執(zhí)行附近設(shè)施點(diǎn)分析函數(shù),獲取最終的結(jié)果
更多的詳情見:GIS之家小專欄
文章尾部提供源代碼下載,對本專欄感興趣的話,可以關(guān)注一波