亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

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

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

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

怎麼利用uniapp開發(fā)一個簡單的地圖導(dǎo)航?本篇文章就來提供大家一個製作簡單地圖的思路,希望對大家有幫助!

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

先來看看效果圖

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

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

簡易map

在圖一的地圖中可以看到a點連接到b點, 基本資訊以及基本的控制項(放大、縮小、回到某個指定的點),接下來我們分開逐步講解。

所需設(shè)定

需要先在manifest.json中的app模組中配置地圖,並加入相關(guān)地圖的key,如果沒有可在相關(guān)開發(fā)者平臺進行申請

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

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

地圖標記點

在uniapp map中想建立標記點就需要使用到一個屬性markers

我們先來看看markers的常用屬性

##longitude經(jīng)度numbertrueiconPath已顯示的圖示stringfalsecallout自訂標記點上方的氣泡框Objectfalse#label為標記點傍邊增加標籤Objectfalse
#說明 #型別 必填
id 標記點id number # true
latitude 緯度 number true
##看更多請看:

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

了解這些我們就可以使用
markers

屬性創(chuàng)建標記點了, markers屬性是數(shù)組類型的,所以應(yīng)該這樣創(chuàng)建標記點<pre class='brush:php;toolbar:false;'> this.covers = [ { id: 1, latitude: 34.7486, longitude: 113.6709, iconPath: &amp;#39;../../static/shop.png&amp;#39;, title: &quot;目的地&quot; } ];</pre>如果想添加更多的標記點就可以繼續(xù)在數(shù)組中添加

object

每個

object

都代表了一個標記點

掛載

<pre class='brush:php;toolbar:false;'> &lt;map :markers=&quot;covers&quot;&gt;&lt;/map&gt;</pre>

座標連線想讓我們的座標連線就需要使用到

polyline

屬性。 我們先來看看

polyline

的常用屬性

pointscolorwidth#iconPath##string falsearrowLine帶箭頭的線Booleanfalse#colorList彩虹顯Arrayfalse
#說明#類型必填
經(jīng)緯度數(shù)組Arraytrue
線的顏色stringfalse
線寬Numberfalse
顯示的圖示
#false############

平臺差異請查看

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

這里我們要注意 兩個坑,作者親踩

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

    polyline 之所以是一個數(shù)組是因為他可以同時創(chuàng)建多條線并且連線,每條線還可以有著不同的顏色、箭頭、圖標等。

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

    points之所以是一個數(shù)組是因為他要確定某一條線上的每一個點,且每個點都應(yīng)該由經(jīng)緯度構(gòu)成

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

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

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

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

放大縮小

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

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

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

回到指定位置

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

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

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

導(dǎo)航彈框

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

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

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

nativeUI情請查看

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

runtime情請查看

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

    // 導(dǎo)航 會打開導(dǎo)航菜單供用戶選擇
    openNavigation(longitude, latitude, name) {
        let url = ""; // app url
        let webUrl = ""; // web url 用來為用戶未安裝導(dǎo)航軟件時打開瀏覽器所使用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)=>{ // 失敗回到
                    // 如果失敗則說明未安裝 直接 打開網(wǎng)頁版進行導(dǎo)航
                    // 畢竟用戶可能沒有安裝app但一定安裝的有瀏覽器
                    plus.runtime.openURL(webUrl);
                });
            }
    })
}

這就是我導(dǎo)航彈窗實現(xiàn)的邏輯了, 這里我僅僅只是用了高德地圖的選項,大家可以根據(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ā)一個簡單的地圖導(dǎo)航的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
VSCode中如何開發(fā)uni-app? (教學(xué)分享) VSCode中如何開發(fā)uni-app? (教學(xué)分享) May 13, 2022 pm 08:11 PM

VSCode中如何開發(fā)uni-app?以下這篇文章跟大家分享一下VSCode中開發(fā)uni-app的教學(xué)課程,這可能是最好、最詳細的教學(xué)了??靵砜纯矗?/p>

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

怎麼利用uniapp開發(fā)一個簡單的地圖導(dǎo)航?本篇文章就來提供大家一個製作簡單地圖的思路,希望對大家有幫助!

uni-app?vue3介面請求怎麼封裝 uni-app?vue3介面請求怎麼封裝 May 11, 2023 pm 07:28 PM

uni-app接口,全域方法封裝1.在根目錄建立一個api文件,在api資料夾中建立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ā)一個uni-app日曆插件(並發(fā)布) 手把手帶你開發(fā)一個uni-app日曆插件(並發(fā)布) Jun 30, 2022 pm 08:13 PM

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

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

如何利用uniapp開發(fā)一個貪吃蛇小遊戲?以下這篇文章就手把手帶大家在uniapp中實現(xiàn)貪吃蛇小遊戲,希望對大家有幫助!

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

這篇文章為大家?guī)砹岁P(guān)於uniapp的相關(guān)知識,其中主要介紹了怎麼用uniapp實現(xiàn)撥打電話並且還能同步錄音的功能,感興趣的朋友一起來看一下吧,希望對大家有幫助。

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

這篇文章為大家?guī)砹岁P(guān)於uniapp的相關(guān)知識,其中主要整理了實現(xiàn)多選框的全選功能的相關(guān)問題,無法實現(xiàn)全選的原因是動態(tài)修改checkbox的checked字段時,界面上的狀態(tài)能夠即時變化,但無法觸發(fā)checkbox-group的change事件,下面一起來看一下,希望對大家有幫助。

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

uniapp怎麼實作scroll-view下拉載入?以下這篇文章聊聊uniapp微信小程式scroll-view的下拉加載,希望對大家有幫助!

See all articles