Uniapp笔记(六)uniapp基础

这篇具有很好参考价值的文章主要介绍了Uniapp笔记(六)uniapp基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、腾讯地图

1、uniapp地图渲染
<template>
    <view>
        <map class="map" :longitude="longitude" :latitude="latitude"></map>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                longitude:108.947558,
                latitude:34.317455
            }
        }
    }
</script>
<style lang="scss">
    .map{
        width: 750rpx;
        height: 100vh;
    }
</style>
2、腾讯地图入门使用

在uniapp里面使用的map组件,仅仅是一个渲染组件。给他提供数据在地图上渲染出来。

如果你要实现地址搜索、计算路径等等必须借助于成熟地图服务商产品。比如、高德、百度、腾讯

2.1、访问腾讯地图开放平台

微信小程序JavaScript SDK | 腾讯位置服务

2.2、入门使用
  1. 申请开发者密钥(key):申请密钥

  2. 开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存

    (小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)

  3. 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2

  4. 安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com

2.3、小程序入门案例
  • 将下载的qqmap-wx-jssdk.min.js文件存放到项目的utils文件夹下,并引入

import QQMapWX from '@/utils/qqmap-wx-jssdk.min.js'
var qqmapsdk;
export default {
        
}
  • 在onLoad钩子函数中初始化地图

onLoad() {
    qqmapsdk = new QQMapWX({
        key: 'SDPBZ-VIOLX-6K64M-TJ7HA-PPZ55-KUF4L'
    });
},
  • 调用qqmapwx这个实例对象完成api的调用

<button @click="searchData" type="default">搜索</button>
methods: {
    searchData(){
        qqmapsdk.search({
            keyword:'酒店',
            success:function(res){
                console.log(res);
            },
            fail:function(res){
                console.log(res);
            },
            complete:function(res){
                console.log(res);
            }
        })
    }
}
3、获取当前定位

在uniapp的文档里面有一个api可以获取到当前定位

地址为:uni.getLocation(OBJECT) | uni-app官网

onLoad() {
    uni.getLocation({
        type:'wgs84',
        success: (res) => {
            this.longitude=res.longitude
            this.latitude=res.latitude
        }
    })
    qqmapsdk = new QQMapWX({
        key: 'SDPBZ-VIOLX-6K64M-TJ7HA-PPZ55-KUF4L'
    });
},
4、腾讯地图查询
<template>
    <view>
        <input type="text" v-model="keyword">
        <button @click="searchData()">搜索</button>
        <map class="map" :longitude='longitude' :latitude="latitude" :markers="covers">         </map>
    </view>
</template>
import QQMapWX from '@/utils/qqmap-wx-jssdk.min.js'
var qqmapsdk;
export default {
    data() {
        return {
            longitude: '',
            latitude: '',
            keyword: '',
            covers:[]
        }
    },
    onLoad() {
        uni.getLocation({
            type: 'wgs84',
            success: (res) => {
                this.longitude = res.longitude
                this.latitude = res.latitude
            }
        })
        qqmapsdk = new QQMapWX({
            key: 'SDPBZ-VIOLX-6K64M-TJ7HA-PPZ55-KUF4L'
        });
    },
    methods: {
        searchData() {
            let _this=this
            qqmapsdk.search({
                keyword: this.keyword,
                success: function(res) {
                    let mks = []
                    for (let i = 0; i < res.data.length; i++) {
                        mks.push({
                            id: ~~res.data[i].id,
                            latitude: res.data[i].location.lat,
                            longitude: res.data[i].location.lng,
                            iconPath: '../../static/map1.png',
                            width: 35,
                            height: 35,
                        })
                    }
                    _this.covers=mks
                    },
                    fail: function(res) {
                        console.log(res);
                    },
                    complete: function(res) {
                        console.log(res);
                    }
                })
            }
        }
    }
5、地址解析
<input type="text" v-model="keyword">
<button @click="searchAddr()">地址搜索</button>

qqmapsdk.geocoder(options:Object): 提供由地址描述到所述位置坐标的转换

searchAddr(){
	qqmapsdk.geocoder({
		address: this.keyword,
		success: (res) => {
			console.log(res);
			this.latitude = res.result.location.lat
			this.longitude = res.result.location.lng
		}
	})
},

二、uview框架

1、简介

uview是一个开源的移动端UI框架,配合uniapp来开发移动端程序

2、安装uview插件

在市场上找到uview插件: uView2.0重磅发布,利剑出鞘,一统江湖 - DCloud 插件市场

使用HBuilderX导入插件,执行成功后,你们项目下面会增加一个uni_modules文件夹。里面有一个uview-ui插件

3、全局引入组件

在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。

import uView from '@/uni_modules/uview-ui'
Vue.use(uView)
4、引入uView的全局SCSS主题文件

在uni.scss中引入写入如下代码

@import '@/uni_modules/uview-ui/theme.scss'
5、引入uView基础样式

放在App.vue这个根组件里面。根组件里面还有其他css代码。,将import语句放在最前面文章来源地址https://www.toymoban.com/news/detail-683925.html

<style lang="scss">
    /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
    @import "@/uni_modules/uview-ui/index.scss";
</style>
6、在页面中使用
<u-button type="primary" text="确定"></u-button>
<u-search placeholder="日照香炉生紫烟" v-model="keyword"></u-search>

到了这里,关于Uniapp笔记(六)uniapp基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【uni-app教程】四、UniAPP 路由配置及页面跳转

    uni-app 页面路由为框架统一管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。类似小程序在 app.json 中配置页面路由一样。所以 uni-app 的路由用法与 Vue Router 不同,如仍希望采用 Vue Router 方式管理路由,可在插件市场搜索 Vue-Router。 uni-app 有两种页面路由跳转

    2024年01月16日
    浏览(77)
  • 【UniApp】-uni-app-项目实战页面布局(苹果计算器)

    经过前面的文章介绍,基本上 UniApp 的内容就介绍完毕了 那么从本文开始,我们就开始进行一个项目的实战 这次做的项目是苹果计算器,这个项目的难度不是很大,但是也不是很简单,适合练手 打开 HBuilderX,点击左上角 文件 - 新建 - 项目 : 项目创建完毕之后,首先来分析

    2024年02月04日
    浏览(67)
  • #Uniapp:uni-app中vue2生命周期--11个

    uni-app中vue2生命周期 生命周期钩子 描述 H5 App端 小程序 说明 beforeCreate 在实例初始化之后被调用 详情 √ √ √ created 在实例创建完成后被立即调用 详情 √ √ √ beforeMount 在挂载开始之前被调用 详情 √ √ √ mounted 挂载到实例上去之后调用 详情 注意:此处并不能确定子组件

    2024年02月02日
    浏览(51)
  • 【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能

    组件使用的是uview组件,Keyboard 键盘和MessageInput 验证码输入两个组件配合使用。 通过mode参数定义键盘的类型,v-model绑定一个值为布尔值的变量,我绑定的是showKeyboard变量,控制键盘的弹出与收起; mode = number (默认值)为数字键盘,此时顶部工具条中间的提示文字为\\\"数字键盘

    2023年04月16日
    浏览(73)
  • 【uni-app】【Android studio】手把手教你运行uniapp项目到Android App

    选择运行到Android App基座 选择运行项目 1、连接手机,在手机上选择 传输文件。 2、打开 设置 - 关于本机 - 版本信息 -连续点击4-5次 版本号 ,输入手机密码,系统就进入了开发者模式。 3、 设置 其他设置 开发者选项 打开 开发者选项 打开 USB调试 。 4、回到Hbuilder,点击刷新

    2024年02月09日
    浏览(55)
  • miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)

    小程序分类:uni-app qq小程序 支付宝小程序 百度小程序 钉钉小程序 微信小程序 小程序转成uni_app 小程序转为uni_app 小程序转uni_app 小程序转换 工具现在支持npm全局库、HBuilderX插件两种方式使用,任君选择,HBuilderX插件地址:https://ext.dcloud.net.cn/plugin?id=2656 【miniprogram-to-uniapp】

    2024年02月08日
    浏览(59)
  • uni-app的优缺点;uniapp进行条件编译的两种方法;小程序端和H5的代表值

    目录 uni-app的优缺点 优点: 1.跨平台开发: 2.统一的开发语言: 3.高效的性能: 4.丰富的生态圈: 缺点: 1.平台差异性: 2.性能限制: 3.对新特性支持滞后: Uni-app条件编译 process.env.UNI_PLATFORM 变量: 使用 process.env.NODE_ENV 变量: Uni-app中的代表值 Uni-app 是一个跨平台的开发框架

    2024年02月08日
    浏览(138)
  • 基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

    最近得空学习了下uniapp结合vue3搭建跨端项目。之前也有使用uniapp开发过几款聊天/仿抖音/后台管理等项目,但都是基于vue2开发。随着vite.js破局出圈,越来越多的项目偏向于vue3开发,就想着uniapp搭配vite4.x构建项目效果会如何?经过一番尝试果然真香~ uniapp官网提供了  HBuild

    2024年02月09日
    浏览(87)
  • 【uni-app】UniApp实现微信小程序中拨打手机电话和长按加微信客服好友(完整代码示例)

    UniApp实现微信小程序中拨打手机电话和长按加微信客服好友(完整代码示例)

    2024年02月11日
    浏览(69)
  • (小程序)基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

    版本信息: 点击编辑器的文件 新建 项目(快捷键Ctrl+N) 2.选择uni-app项目,输入项目名/路径,选择项目模板,勾选vue3版本,点击创建,即可成功创建。 3.点击编辑器的运行 运行到浏览器 选择浏览器 当然也可以运行到手机或模拟器、运行到小程序工具。 到这里一个简单的

    2024年02月16日
    浏览(102)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包