国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
簡(jiǎn)易map
導(dǎo)航彈框
騰訊
app url
web url
百度
首頁(yè) web前端 uni-app 利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航

利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航

Jun 09, 2022 pm 07:46 PM
uni-app

怎么利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航?本篇文章就來(lái)為大家提供一個(gè)制作簡(jiǎn)單地圖的思路,希望對(duì)大家有所幫助!

利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航

先來(lái)看一眼效果圖

1.png

2.png

簡(jiǎn)易map

在圖一的地圖中可以看到 a點(diǎn) 連接 到 b點(diǎn), 基本信息 以及 基本的控件(放大、縮小、回到某個(gè)指定的點(diǎn)),接下來(lái)我們分開逐步講解。

所需配置

需要先在manifest.json中的 app模塊中配置地圖,并添加相關(guān)地圖的key,如果沒(méi)有可在相關(guān)開發(fā)者平臺(tái)進(jìn)行申請(qǐng)

3.png

配置好這一部分就可以開始使用map組件了

地圖標(biāo)記點(diǎn)

在uniapp map中想創(chuàng)建標(biāo)記點(diǎn)就需要使用到一個(gè)屬性 markers。

我們先來(lái)看一下markers的常用屬性

名稱 說(shuō)明 類型 必填
id 標(biāo)記點(diǎn)id number true
latitude 緯度 number true
longitude 經(jīng)度 number true
iconPath 顯示的圖標(biāo) string false
callout 自定義標(biāo)記點(diǎn)上方的氣泡框 Object false
label 為標(biāo)記點(diǎn)傍邊增加標(biāo)簽 Object false

查看更多請(qǐng)查看:

https://uniapp.dcloud.io/component/map.html

了解過(guò)這些我們就可以使用markers屬性創(chuàng)建標(biāo)記點(diǎn)了, markers屬性是數(shù)組類型的,所以應(yīng)該這樣創(chuàng)建標(biāo)記點(diǎn)

    this.covers = [ 
        {
            id: 1,
            latitude: 34.7486,
            longitude: 113.6709,
            iconPath: '../../static/shop.png',
            title: "目的地"
        }
    ];

如果想添加更多的標(biāo)記點(diǎn)就可以繼續(xù)在數(shù)組中添加object,

每個(gè)object都代表了一個(gè)標(biāo)記點(diǎn)

掛載

    <map :markers="covers"></map>

坐標(biāo)連線

想讓我們的坐標(biāo)連線就需要使用到 polyline 屬性。

我們先來(lái)看一下polyline的常用屬性

名稱說(shuō)明類型必填
points經(jīng)緯度數(shù)組Arraytrue
color線的顏色stringfalse
width線寬Numberfalse
iconPath顯示的圖標(biāo)stringfalse
arrowLine帶箭頭的線Booleanfalse
colorList彩虹顯Arrayfalse

平臺(tái)差異請(qǐng)查看

https://uniapp.dcloud.io/component/map.html#app平臺(tái)地圖服務(wù)商差異

這里我們要注意 兩個(gè)坑,作者親踩

  • polyline 屬性是一個(gè)數(shù)組

    polyline 之所以是一個(gè)數(shù)組是因?yàn)樗梢酝瑫r(shí)創(chuàng)建多條線并且連線,每條線還可以有著不同的顏色、箭頭、圖標(biāo)等。

  • points 也是一個(gè)數(shù)組

    points之所以是一個(gè)數(shù)組是因?yàn)樗_定某一條線上的每一個(gè)點(diǎn),且每個(gè)點(diǎn)都應(yīng)該由經(jīng)緯度構(gòu)成

所以 polyline 的正確寫法應(yīng)該是這樣的

    // 連線
    this.polyline = [
        // 第一條線
        {
            // 每個(gè)點(diǎn)的經(jīng)緯度
            points: [{34.7486, 113.6709}, {28.7486, 113.6709}],
            // 顏色
            color: "#000",
            // 寬度
            width: 10
        }
    ]

如果想添加第二條線僅僅只需要在 polyline 中在添加一個(gè) Object掛載

    <map :polyline="polyline"></map>

放大縮小

map 的放大縮依賴于 scale 屬性 所以只需要?jiǎng)討B(tài)改變 scale 屬性的值就可以了。 但這里要注意 scale 的取值范圍為 3~20,數(shù)字類型

這就是放大縮小功能的依賴

4.png

回到指定位置

想要地圖回到指定的位置也非常簡(jiǎn)單,只需要使用 uni.createMapContext() 方法創(chuàng)建一個(gè) mapContent 對(duì)象 在使用 附帶的 moveToLocatio 方法便可讓地圖回到指定的位置。

// 回到定位點(diǎn)
goBackToLocation() {
   uni.createMapContext("map").moveToLocation({34.7486, 113.6709});
},

5.png

導(dǎo)航彈框

圖二中的地圖應(yīng)用選擇彈框則是使用了 h5Plus

nativeUI.actionSheet 方法 創(chuàng)建了彈框

runtime.openURL 方法 打開了 導(dǎo)航軟件 或 h5 頁(yè)面導(dǎo)航

nativeUI情請(qǐng)查看

https://www.html5plus.org/doc/zh_cn/nativeui.html

runtime情請(qǐng)查看

https://www.html5plus.org/doc/zh_cn/runtime.html

    // 導(dǎo)航 會(huì)打開導(dǎo)航菜單供用戶選擇
    openNavigation(longitude, latitude, name) {
        let url = ""; // app url
        let webUrl = ""; // web url 用來(lái)為用戶未安裝導(dǎo)航軟件時(shí)打開瀏覽器所使用url
        plus.nativeUI.actionSheet({ //選擇菜單
            title: "選擇地圖應(yīng)用",
            cancel: "取消",
            buttons: [{title: "高德地圖"}] // 可選的地圖類型
        }, (e)=> {
                // 判斷用戶選擇的地圖
            switch (e.index) {
                //下面是拼接url,不同系統(tǒng)以及不同地圖都有不同的拼接字段
                case 1:
                    // 安卓
                    if(plus.os.name == "Android") {
                        url = `androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
                    }else {
                        url = `iosamap://viewMap?sourceApplication=applicationName&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
                    }
                    webUrl = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${name}&src=mypage&coordinate=gaode`
                    break;
            }
                // 如果選中
            if (url != "") {
                url = encodeURI(url);
                // 打開 app 導(dǎo)航 
                plus.runtime.openURL(url, (err)=>{ // 失敗回到
                    // 如果失敗則說(shuō)明未安裝 直接 打開網(wǎng)頁(yè)版進(jìn)行導(dǎo)航
                    // 畢竟用戶可能沒(méi)有安裝app但一定安裝的有瀏覽器
                    plus.runtime.openURL(webUrl);
                });
            }
    })
}

這就是我導(dǎo)航彈窗實(shí)現(xiàn)的邏輯了, 這里我僅僅只是用了高德地圖的選項(xiàng),大家可以根據(jù)需要增加相應(yīng)地圖app,其他常見的我放在下方了。

騰訊

app url

let appUrl = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=${騰訊地圖key}`

web url

let webUrl = `https://apis.map.qq.com/uri/v1/marker?marker=coord:經(jīng)度,緯度;title:名稱;addr:地址&referer=myapp`

百度

app url

let appUrl = `baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo`

web url

let webUrl = `http://api.map.baidu.com/marker?location=${latitude},${longitude}&title=${name}&content=${content}&output=html&src=webapp.baidu.openAPIdemo`

推薦:《uniapp教程

以上是利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

VSCode中如何開發(fā)uni-app?(教程分享) VSCode中如何開發(fā)uni-app?(教程分享) May 13, 2022 pm 08:11 PM

VSCode中如何開發(fā)uni-app?下面本篇文章給大家分享一下VSCode中開發(fā)uni-app的教程,這可能是最好、最詳細(xì)的教程了??靵?lái)看看!

利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航 利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航 Jun 09, 2022 pm 07:46 PM

怎么利用uniapp開發(fā)一個(gè)簡(jiǎn)單的地圖導(dǎo)航?本篇文章就來(lái)為大家提供一個(gè)制作簡(jiǎn)單地圖的思路,希望對(duì)大家有所幫助!

uni-app?vue3接口請(qǐng)求怎么封裝 uni-app?vue3接口請(qǐng)求怎么封裝 May 11, 2023 pm 07:28 PM

uni-app接口,全局方法封裝1.在根目錄創(chuàng)建一個(gè)api文件,在api文件夾中創(chuàng)建api.js,baseUrl.js和http.js文件2.baseUrl.js文件代碼exportdefault"https://XXXX.test03.qcw800.com/api/"3.http.js文件代碼exportfunctionhttps(opts,data){lethttpDefaultOpts={url:opts.url,data:data,method:opts.method

手把手帶你開發(fā)一個(gè)uni-app日歷插件(并發(fā)布) 手把手帶你開發(fā)一個(gè)uni-app日歷插件(并發(fā)布) Jun 30, 2022 pm 08:13 PM

本篇文章手把手帶大家開發(fā)一個(gè)uni-app日歷插件,介紹下一款日歷插件是如何從開發(fā)到發(fā)布的,希望對(duì)大家有所幫助!

聊聊如何利用uniapp開發(fā)一個(gè)貪吃蛇小游戲! 聊聊如何利用uniapp開發(fā)一個(gè)貪吃蛇小游戲! May 20, 2022 pm 07:56 PM

如何利用uniapp開發(fā)一個(gè)貪吃蛇小游戲?下面本篇文章就手把手帶大家在uniapp中實(shí)現(xiàn)貪吃蛇小游戲,希望對(duì)大家有所幫助!

實(shí)例詳解uniapp如何實(shí)現(xiàn)電話錄音功能(附代碼) 實(shí)例詳解uniapp如何實(shí)現(xiàn)電話錄音功能(附代碼) Jan 05, 2023 pm 04:41 PM

本篇文章給大家?guī)?lái)了關(guān)于uniapp的相關(guān)知識(shí),其中主要介紹了怎么用uniapp實(shí)現(xiàn)撥打電話并且還能同步錄音的功能,感興趣的朋友一起來(lái)看一下吧,希望對(duì)大家有幫助。

實(shí)例講解uniapp實(shí)現(xiàn)多選框的全選功能 實(shí)例講解uniapp實(shí)現(xiàn)多選框的全選功能 Jun 22, 2022 am 11:57 AM

本篇文章給大家?guī)?lái)了關(guān)于uniapp的相關(guān)知識(shí),其中主要整理了實(shí)現(xiàn)多選框的全選功能的相關(guān)問(wèn)題,無(wú)法實(shí)現(xiàn)全選的原因是動(dòng)態(tài)修改checkbox的checked字段時(shí),界面上的狀態(tài)能夠?qū)崟r(shí)變化,但是無(wú)法觸發(fā)checkbox-group的change事件,下面一起來(lái)看一下,希望對(duì)大家有幫助。

聊聊uniapp的scroll-view下拉加載 聊聊uniapp的scroll-view下拉加載 Jul 14, 2022 pm 09:07 PM

uniapp怎么實(shí)現(xiàn)scroll-view下拉加載?下面本篇文章聊聊uniapp微信小程序scroll-view的下拉加載,希望對(duì)大家有所幫助!

See all articles