Споделяне чрез


Създаване на приложение с контролите „Address input“ и „Map“

Има много сценарии, при които се очаква потребителите да въвеждат адреси в приложение. Исторически е имало множество полета, улавящи всеки елемент от адрес, където потребителят предоставя адрес, град и пощенски код и избира държава. Въвеждането на адреси може да бъде разочароващо и податливо на грешки, особено при мобилни сценарии.

Контролът за въвеждане на адреси представя на потребителя динамични предложения за адреси, докато той въвежда. Използвайки размита логика на съвпадение, контролът предлага множество потенциални съвпадения на адреси, от които потребителят може да избере—което ускорява и улеснява въвеждането на точни адреси.

Контролът връща адреса като структурирани данни, което позволява на приложението да извлече информация като град, улица, община и дори географска ширина и дължина. Данните са във формат, подходящ за много локали и международни формати на адреси.

За да използвате контрола, трябва да разрешите геопространствените услуги за средата.

  • Гледайте този видеоклип, за да научите как се използва контролът за въвеждане на адрес:

  • Гледайте този видеоклип, за да научите как се използва контролът на картата:

В тази статия ще научим как да използваме контролата за въвеждане на адреси в приложенията за платно.

Предварителни изисквания

За да завършите този урок, ще ви е необходима среда на Power Apps с база данни Microsoft Dataverse. Ако не разполагате с лиценз, можете да се регистрирате за План за разработчици за Power Apps или да използвате Пробна версия на Power Apps.

Създаване на пробна среда

Средата в Power Apps представлява място за съхранение, управление и споделяне на бизнес данните, приложенията, чатботовете и потоците на организацията. Тя също така служи като контейнер за отделни приложения, които могат да имат различни роли, изисквания за защита или целеви аудитории.

Всяка среда може да има една база данни на Dataverse.

За да сме сигурни, че имате всичко необходимо за завършване на този урок, ние ще създадем нова среда, която включва Dataverse база данни. Това е 30-дневен пробен период, който ще изчезне в края на 30-те дни, но можете да го надстроите до пясъчник или производствена среда, ако искате да го запазите.

Ще създадем пробна среда, която ще включва Dataverse база данни и примерните данни, използвани в тази тема.

  1. Отидете в административен център на Power Platform в уеб браузър.

  2. Изберете Среди.

  3. Изберете Нова.

  4. Въведете име, например „Пробна версия на Dataverse”.

  5. Изберете Пробна версия за типа среда.

  6. Превключете Създаване на база данни на Да.

  7. Изберете Напред.

    Създаване на пробна среда.

  8. Превключете Внедряване на примерни приложения и данни на Да.

  9. Изберете Записване.

Вашата пробна среда вече ще бъде създадена, включително Dataverse база данни и примерни данни в таблици на Dataverse.

Активиране на геопространствените услуги за средата

Преди да можем да използваме геопространствените услуги в приложенията за платно, администраторът трябва да разреши достъпа до функциите за средата, в която искаме да създадем приложението.

За да научите как да активирате Геопространствени услуги във вашата среда, вижте Активирайте геопространствените функции за среда.

Изграждане на приложение за платно

Ще започнем със създаването на приложение и след това ще създадем контрола за заглавка, която да използваме в приложението, за да стандартизираме външния вид и усещането на заглавката на различни екрани.

  1. Създайте празно приложение за платно в средата, която създадохте по-рано.

  2. Изберете Вмъкване > Нов екран > Може да се превърта, за да добавите нов екран.

    Изберете възможност за превъртане.

  3. Променете текста на етикета на „Нов акаунт“.

    Заглавен ред

  4. Изберете Поставете > Форми > редактиране, за да добавите формуляр към екрана.

    Изберете Редактиране

    Добавя се контролата на формуляра

    Добавена е контрола на формуляр

  5. Актуализирайте следните свойства на формуляра:

    Свойство Стойност
    Източник на данни Клиенти
    Колони 2
    DefaultMode FormMode.New
  6. Изберете Редактиране до полетата, за да добавите още полета към формуляра, и изберете следните адресни полета:

    • Адрес 1: Улица 1
    • Адрес 1: Град
    • Адрес 1: Щат
    • Адрес 1: Пощенски код
    • Адрес 1: Страна/Регион
    • Адрес 1: Географска ширина
    • Адрес 1: Географска ширина

    Свойства на адрес

  7. Регулирайте реда на полетата, както е показано по-долу.

    Име на акаунта и основен телефон на първия ред, Адрес 1: Улица 1 и Адрес 1: Град на втори ред, Адрес 1: Щат/Провинция и Адрес 1: Пощенски код на трети ред, Адрес 1: Държава/Регион и Адрес 1 : Географска ширина на четвъртия ред, Адрес 1: Географска дължина на петия ред.

Управление на въвеждането на адрес

В този раздел ще добавим Въвеждане на адрес контрола към приложението.

  1. Изберете Вмъкване > Въвеждане > Въвеждане на адрес, за да добавите контрола към екрана.

    Изберете контрола за въвеждане на адрес

  2. Преместете контролния елемент в горния десен ъгъл на екрана.

    Добавено е поле за въвеждане на адрес

Конфигуриране на свойствата на контролата за въвеждане на адрес

В този раздел ще прегледаме и ако е необходимо ще зададем различни свойства на контролата на адреса. Има няколко специфични за контрола Въвеждане на адрес свойства.

Контроли за въвеждане на адрес

Свойство Описание
Ограничение на резултатите от търсенето Броят на предложените адреси, който показва контролата. В този пример сме го задали на 5, така че не повече от пет адреса ще се показват при търсене.
Търсене в радиус Дали контролата трябва да предлага адреси в рамките на дефинирания от потребителя радиус от Географска ширина и Географска дължина. Настроили сме го на да в този пример.
Географска ширина Географската ширина на централната точка, използвана за гео-пристрастия към адреси за предложения. Изисква Търсене в радиус да е включено. Настроихме го на формулата Location.Latitude в този пример, за да върнете географската ширина на текущото местоположение.
Географска дължина Географската дължина на централната точка, използвана за гео-пристрастия към адреси за предложения. Изисква Търсене в радиус да е включено. Настроихме го на формулата Location.Longitude в този пример, за да върнете географската ширина на текущото местоположение.
Радиус Радиусът, в метри, около Географска ширина и Географска дължина за ограничаване на предложенията за адрес. Изисква Търсене в радиус да е включено. Настроили сме го на 100 000 в този пример.
Език Езикът, на който се връщат предложенията за адрес. Оставили сме го по подразбиране - "Английски (САЩ)".
Набор от държави Списък на страни/региони, разделени със запетая, за да се ограничат предложенията за адреси в кодовете на държавите по ISO 3166 alpha-2. Примери: "US", "FR", "KW". Настроили сме го на US в този пример.

Конфигуриране на изходните свойства на контролата за въвеждане на адрес

Контролата извежда различни свойства, когато потребителят взаимодейства с него в приложение. Можете да използвате тези изходи в други контроли или да персонализирате функционалността.

Следващата таблица изброява наличните свойства на изведения резултат.

Свойство Описание
UserInput Текст, който потребителят е въвел в полето за въвеждане.
SelectedLatitude Географска ширина на избрания от потребителя адрес в полето за въвеждане.
SelectedLongitude Географска дължина на избрания от потребителя адрес в полето за въвеждане.
SearchResultJson Резултатът от търсенето (въз основа на свойството UserInput), показан като низ в JSON формат.
FreeformAddress Избран адрес от списъка с предложени адреси.
LocalName Адресна контрола , която представлява името на географска област или населено място, което групира множество адресируеми обекти за адресиране, без да е административна единица.
PostalCode Пощенски код.
ExtendedPostalCode Разширен пощенски код.
CountryCode Код на държава.
Държава Държава.
CountryCodeISO3 Код на държавата във формат ISO alpha-3.
CountrySubdivisionName Име на подразделение на държавата.
StreetName Име на улица.
StreetNumber Номер на улица.
Община Община.
MunicipalitySubdivision Общинско подразделение.
CountryTertiarySubdivision Третично подразделение на държавата.
CountrySecondarySubdivision Вторично подразделение на държавата.
CountrySubdivision Подразделение на държавата.

Когато стартирате приложението и започнете да въвеждате адрес, то ще покаже адреси, които отговарят на въведената стойност и се намират само в рамките на 100 000 метра от текущото местоположение. Освен това забележете, че не показва повече от пет предложения за адрес наведнъж, когато започнете да въвеждате адреса.

Запис на адрес

Използвайки горната контрола, ще заснемем адреса в адресните полета на формуляра, за да създадем нов акаунт. Тази стъпка е полезна, за да не се налага потребителят да въвежда всеки от адресните елементи поотделно.

Ще зададем стойностите на картата с данни на подходящата стойност на свойството от въвеждането на адреса.

Съвет

Стойностите по подразбиране на картата с данни може да са заключени. За да ги отключите, изберете картата с данни и отидете в Разширени свойства, след което изберете Отключване, за да промените свойствата.

Отключване на контролата

Карта за данни Стойност
Адрес 1: Улица 1 AddressInput1.StreetNumber & " " & AddressInput1.StreetName
Адрес 1: Град AddressInput1.Municipality
Адрес 1: Област/провинция AddressInput1.CountrySubdivision
Адрес 1: Пощенски код AddressInput1.PostalCode
Адрес 1: Карта с данни за страна/регион AddressInput1.Country
Адрес 1: Географска ширина AddressInput1.SelectedLatitude
Адрес 1: Географска ширина AddressInput1.SelectedLongitude

Пример за Адрес 1: улица 1 карта с данни:

Формат на адресите

Формулярът се попълва с всички адресни полета, когато е избран адрес в контролата Въвеждане на адрес.

Окончателен формуляр

Контрола на карта

В този раздел ще видим как да добавим контрола Карта в приложението, за да покаже избраното местоположение на картата.

  1. Преди да добавите Карта контрол, трябва да създадем колекция за улавяне на адреса от входния адрес – тази колекция ще се използва като източник на данни за картата.

    В свойството OnAddressSelect на контролата Въвеждане на адрес въведете следната формула, за да създадете колекция, която улавя адресните данни.

    ClearCollect(
        colSelectedAddress,
        {
            Street: AddressInput1.StreetNumber & " " & AddressInput1.StreetName,
            City: AddressInput1.Municipality,
            State: AddressInput1.CountrySubdivision,
            Zip: AddressInput1.PostalCode,
            Country: AddressInput1.Country,
            Latitude: AddressInput1.SelectedLatitude,
            Longitude: AddressInput1.SelectedLongitude
        }
    )
    

    Формула за контрол на картата

  2. Изберете област извън Въвеждане на адрес контролата и изберете Поставете > Мултимедия > Карта за да добавите контрола на картата към екрана.

    Изберете карта

  3. Изберете колекцията като източник на данни.

    Изберете контролата

  4. Преместете картата под секцията за въвеждане на адрес.

    Поставете картата на екрана

Конфигуриране на свойствата на контролата карта

В този раздел ще прегледаме и ако е необходимо ще зададем различни свойства на контролата на карта.

В следващата таблица са изброени наличните свойства.

Свойство Описание
Източник на данни (елементи) Източник на данни (таблицата), която изброява предварително определен набор от дължини и географски ширини, които да се показват като щифт за карта на картата, когато се зареди. Картирайте всяка от колоните в данните си с помощта на ItemAddresses, ItemLongitudes, ItemLatitudes и ItemLabels.
Използване на местоположение по подразбиране Дали картата се инициализира на място по подразбиране, зададено от потребителя.
Географска дължина по подразбиране Географска дължина, на която картата би отишла, ако се зареди, ако Използвайте местоположение по подразбиране е активирано.
Географска ширина по подразбиране Географска ширина, на която картата би отишла, ако се зареди, ако Използвайте местоположение по подразбиране е активирано.
Ниво на мащабиране по подразбиране Нивото на мащабиране, на което би била зададена картата, когато се зареди, ако Използвайте местоположение по подразбиране е активирано.
Показване на текущо местоположение Дали картата трябва да показва текущото местоположение на потребителя.
Географска ширина на текущо местоположение Географската ширина на текущото местоположение на потребителя, ако Показване на текущото местоположение е активирано.
Географска дължина на текущо местоположение Географската дължина на текущото местоположение на потребителя, ако Показване на текущото местоположение е активирано.
Изглед от сателит Независимо дали стилът на картата е сателитен изглед или изглед на пътя.
Клъстерни маркери Дали щифтовете на картата са клъстерирани.
Контрола за мащабиране Дали контролът за мащабиране се появява на картата.
Контрола на компас Дали контролът на компаса се появява на картата.
Контрола на стъпка Дали контролът на височината се появява на картата.
Цвят на маркер Цветът на щифтовете.
ItemsLabels Колона в елементи с низовете, които искате да използвате като етикети за пиновете.
ItemsAddresses Колона в елементи с низовете, които представляват местоположението на пиновете.
ItemsLongitudes Име на колоната в таблицата във вашия източник на данни с числа с плаваща запетая, които представляват позицията на дължината на пиновете.
ItemsLatitudes Име на колоната в таблицата във вашия източник на данни с числа с плаваща запетая, които представляват позицията на географска ширина на пиновете.
ItemsColors Цвят на маркерите.
ItemsIcons Икона на маркерите.
Елементи Име на таблицата във вашия източник на данни, която съдържа всички записи, които искате да начертаете в картата, като използвате щифтове. Всеки ред трябва да има запис за етикета, дължината и широчината за всеки ред.
OnMapClick Как реагира картата, когато се избере някое местоположение.
OnSelect Как реагира приложението, когато се избере маркер на картата.
OnLoad Как реагира приложението, когато картата завърши зареждането.
OnItemsChange Как реагира приложението, когато се променят маркерите на картата.
Показване на инфокарти Дали информационните карти се появяват на щифтовете на картата.
Показване на форми Дали формите в Shapes_Items се появяват на картата.
Показване на етикетите на форма Дали етикетите се появяват на формите на картата.
Активиране на рисуване на форми Дали контролата за инструменти за рисуване се появява на картата.
Активиране на изтриването на форми и редактирането на етикети Дали фигурите могат да бъдат изтрити и етикетите им могат да бъдат редактирани на картата.
Shapes_Items Име на таблицата във вашия източник на данни, която съдържа всички записи с обекти GeoJSON, които искате да покажете на картата като фигури.
ShapeGeoJSONObjects Име на колоната в таблицата във вашия източник на данни със низове, които представляват обектите GeoJSON на фигурите.
ShapeLabels Колона в Shapes_Items с низовете, които искате да използвате като етикети за фигурите.
ShapeColors Цвят на формите.
OnShapeSelected Как реагира приложението, когато се избере фигура на картата.
OnShapeCreated Как реагира приложението, когато се създаде фигура на картата.
OnShapeEdited Как реагира приложението, когато се редактира фигура на картата.
OnShapeDeleted Как реагира приложението, когато се изтрие фигура на картата.

Конфигуриране на изходните свойства за контролата карта

Контролата за карта извежда различни свойства, когато потребителят взаимодейства с него в приложение. Можете да използвате тези изходи в други контроли или да персонализирате функционалността.

Следващата таблица изброява наличните свойства на изведения резултат.

Свойство Описание
CenterLocation Централно местоположение на картата е или .Latitude, или .Longitude. Резултатът ще бъде цяло число. Например, обаждане на Map1.CenterLocation.Latitude ще изведе едно цяло число като "47.60357".
Избрана Избраният щифт на картата.
Избрани елементи Избраният щифт или щифтове на избрания клъстер на картата.
Геокодирани елементи Геокодираните местоположения на маркери на картата.
ClickedLocation Последно щракнатото местоположение върху картата като или .Latitude, или .Longitude.
Shapes_Selected Записът на избраната форма от Shapes_Items.
Shapes_SelectedItems Записът на избраните застъпващи се форми от Shapes_Items.
SelectedShape Избраната форма на картата с .Perimeter и .Area.
DeletedShape Последната изтрита фигура на картата с .Perimeter и .Area.
GeoJSON Списъкът с форми на картата във формат Feature Collection GeoJSON.

За да поставим кабърче върху адреса, въведен във входния адрес, ще използваме колекцията, която създадохме в свойството OnAddressSelect и го използвайте в контролата на картата.

Свойство Стойност
Елементи colSelectedAddress
ItemsLatitudes colSelectedAddress.Latitude
ItemsLongitude colSelectedAddress.Longitude

Свойства на контролата за карта

Някои от свойствата на щифта могат да бъдат персонализирани за щифт за местоположение са обяснени по-долу:

  1. ItemsColors - За да актуализирате цвета на щифта до различен цвят за всяко местоположение, добавете колона към колекцията Цвят: Червен и използвайте това в свойството ItemsColors на данните на контролата Карта.

  2. ItemsLabels - За да актуализирате етикета на щифта с различен етикет, показващ адреса за всяко местоположение, добавете колона към колекцията Label:AddressInput1.FreeformAddress и я използвайте в свойството за данни ItemsLabels на контролата Карта.

  3. ItemsIcons - За да промените иконата на щифта за всяко местоположение, добавете колона към колекцията и я използвайте в свойството ItemsIcons на данните на контролата Карта. В този пример ще добавим триъгълна икона с формулата като Icon: triangle.

    Съвет

    За пълния списък с икони отидете на Списък с шаблони за изображения.

    ClearCollect(
        colSelectedAddress,
        {
            Street: AddressInput1.StreetNumber & " " & AddressInput1.StreetName,
            City: AddressInput1.Municipality,
            State: AddressInput1.CountrySubdivision,
            Zip: AddressInput1.PostalCode,
            Country: AddressInput1.Country,
            Latitude: AddressInput1.SelectedLatitude,
            Longitude: AddressInput1.SelectedLongitude,
            Label: AddressInput1.FreeformAddress,
            Color: Red,
            Icon: Triangle
        }
    );
    

След като ги добавите към колекцията, отидете на раздела Разширено на контролата Карта и актуализиране на свойствата ItemsColors, ItemsLabels и ItemsIcons.

Разширени свойства на контрола на картата

Стартирайте приложението в режим на предварителен преглед, за да го тествате. Картата показва местоположението, избрано при въвеждане на адрес, с икона на триъгълник и адресът се показва като етикет на картата.

Адрес за актуализиране на контрола на картата

Вижте също

Интерактивна контрола на картата