共用方式為


計算地圖上航點圖釘之間的路線 (預覽版)

[本主題是發行前版本文件,並可能在未來變更。]

畫布應用程式中的地圖控制項可以使用從 Excel 活頁簿中資料表匯入的資料新增航點圖釘。 該控制項可以計算航點之間的路線,重新排序航點,並重新計算路線以改善旅行時間或距離。

重要

  • 這是預覽功能。
  • 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。

您將需要一個資料來源,其需包含具有以下資料行的具名資料表。 每個資料行都會對應至地圖控制項中的進階屬性。 每個資料列都會釘選為地圖上的航點。

資料行名稱 對應至 必要
名稱 (或標籤) RouteWaypointsLabels 選用
經度 RouteWaypointsLongitudes 選用 (如果未提供地址,則為必要項目)
緯度 RouteWaypointsLatitudes 選用 (如果未提供地址,則為必要項目)
地址 RouteWaypointsAddresses 選用 (如果未提供經度和緯度,則為必要項目)

注意

所有屬性在技術上都是選擇性的。 但是,必須為要繪製的航點位置提供地址或緯度/經度對。

從 Excel 資料表中匯入航點圖釘

在此範例中,我們將從名為 TestData 的 Excel 資料表中匯入航點資料。

建立資料來源

  1. 在 Excel 中使用以下資料建立資料表。 將資料表命名為 TestData

    名稱 經度 緯度 地址
    工作 -122.156481 47.663448 1 Microsoft Way, Redmond, WA 98052
    見面 -122.221037 47.57137
    游泳 -122.144133 47.600373
    網球 -122.137265 47.616115

    您的資料表應該會看起來像這樣:

    Excel 工作表範例,其中具有名為 TestData 的資料表,包含在地圖上放置航點圖釘所需的資訊。

  2. 將活頁簿儲存至 OneDrive for Business 並關閉檔案。

將資料來源綁定至控制項

  1. 建立一個畫布應用程式。 確定其滿足地理空間先決條件

  2. 插入地圖控制項

  3. 在控制項的屬性索引標籤上,選取 Route waypoints(Items) 方塊,然後輸入 excel

    顯示如何在 Power Apps Studio 中搜尋航點資料來源以連接到地圖控制項的螢幕擷取畫面。

  4. 選取從 Excel 匯入

  5. 瀏覽至您的 OneDrive for Business ,並選取先前儲存的 Excel 活頁簿。

  6. 選取 TestData 資料表,然後選取連接

    資料表選取面板的螢幕擷取畫面。

  7. 進階索引標籤上,尋找 RouteWaypointsLabelsRouteWaypointsLatitudesRouteWaypointsLongitudesRouteWaypointsAddresses,並在資料表中輸入對應資料行的名稱。 (在此範例中,於 RouteWaypointsLabels 中輸入名稱,於 RouteWaypointsLatitudes 中輸入 緯度 等。) 用引號將資料行名稱括起來。

    注意

    地址可與緯度和經度互換。 如果提供了緯度和經度,則不會使用地址。 如果提供了地址,則不需要緯度和經度。 使用地址時可以顯示的航點數量有限,因此請盡量使用緯度和經度。

圖釘會出現在地圖上資料表中座標或地址描述的位置。 如果資料表包含標籤,則會標記圖釘。 這些圖釘會按照航點位置在資料表中出現的順序編號。

地圖的螢幕擷取畫面,其中釘選和標記的航點顯示在地圖屬性旁。

計算航點之間的路線

選取地圖控制項,打開屬性索引標籤,然後打開啟用路線

控制項會計算釘選航點之間的路線。

地圖的螢幕截圖,其中包含釘選航點之間的路線。

注意

根據預設,地圖控制項會重新排序中間導航點以減少移動時間或移動距離。 第一個和最後一個導航點被視為出發地和目的地,無法重新排序。 若要讓航點保持在資料來源中指定的順序,請打開控制項的維持航點順序屬性。

屬性

使用屬性變更路線的計算方式。

屬性 描述 類型 索引標籤
啟用路線 計算航點之間的路線。 布林值 屬性; 進階:UseRouting
Maintain waypoint order 確定計算的路線是否按照資料來源中提供的順序維持航點。 布林值 屬性; 進階:RouteMaintainOrder
最佳化路線 確定計算的路線是針對距離、時間最佳化還是未最佳化。 下拉式清單 屬性; 進階:RouteOptimization
路線出行方式 確定是為汽車還是卡車計算路線,這可能需要避開具有特定高度或重量限制的橋樑。 下拉式清單 屬性; 進階:RouteTravelMode
顯示路線圖釘 確定是否要在路線航點上顯示圖釘。 布林值 屬性; 進階:ShowRoutePins

Output 屬性

某些屬性只有在計算的路線變更時才能使用。 這些輸出屬性均置於 RouteDirection 物件中。 建議以 OnRouteDirectionChange 事件方式在其他控制項中使用輸出或自訂應用程式體驗。

屬性 描述 類型 索引標籤
OnRouteDirectionChange 包含在路線變更時執行的程式碼。 事件 進階
RouteDirection 描述路線輸出:
  • LengthInMeters - 整個路線的長度 (以公尺為單位)
  • TravelTimeInSeconds - 整個路線的預期移動時間 (以秒為單位)
  • RouteGeoJSON - 描述路線的字串 (GeoJSON 格式)
  • RouteLegs - 描述路線各段的資料表:
    • Index - 代表路線中分段順序的數字
    • LengthInMeters - 分段的長度 (以公尺為單位)
    • TravelTimeInSeconds - 分段的預期移動時間 (以秒為單位)
    • StartLabel:分段起點的標籤
    • StartLatitude:分段起點的緯度
    • StartLongitude:分段起點的經度
    • StartAddress:分段起點的地址
    • EndLabel:分段終點的標籤
    • EndLatitude:分段終點的緯度
    • EndLongitude:分段終點的經度
    • EndAddress:分段終點的地址
  • OrderedWaypoints - 在排序導航點後描述每個航點的資料表:
    • Index - 代表路線中航點順序的數字
    • 標籤:航點的標籤
    • 緯度:航點的緯度
    • 經度:航點的經度
    • 地址:航點的地址
物件 不適用 (僅限輸出屬性)

請參閱

互動式地圖控制項