zoukankan      html  css  js  c++  java
  • uniapp

    使用方法
    微信小程序JavaScript SDK
    采用腾讯地图sdk

    <template>
        <view>
            <view>
                <map :latitude="latitude" :longitude="longitude" :markers="markers" class="map"></map>
                <view class="map-bottom">
                    <view @tap="searchNearby('购物')" :style="{ color: active == '购物' ? activeColor : 'black' }">购物 </view>
                    <view @tap="searchNearby('教育')" :style="{ color: active == '教育' ? activeColor : 'black' }">教育 </view>
                    <view @tap="searchNearby('交通')" :style="{ color: active == '交通' ? activeColor : 'black' }">交通 </view>
                    <view @tap="searchNearby('医疗')" :style="{ color: active == '医疗' ? activeColor : 'black' }">医疗 </view>
                </view>
            </view>
        </view>
    </template>
    
    <script>
    import QQMapWX from '@/js_sdk/qqmap-wx-jssdk/qqmap-wx-jssdk.js';
    import { mapGetters } from 'vuex';
    export default {
        data() {
            return {
                latitude: '',
                longitude: '',
                centerTitle: '',
                markers: [],
                qqmapsdk: '',
                active: '',
            };
        },
        methods: {
            searchNearby(keyword) {
                let location = this.latitude + ',' + this.longitude;
                let that = this;
                that.active = keyword;
                // 调用接口
                that.qqmapsdk.search({
                    keyword: keyword, //搜索关键词
                    location: location, //设置周边搜索中心点
                    success: function (res) {
                        const mks = [];
                        for (var i = 0; i < res.data.length; i++) {
                            mks.push({
                                 20,
                                height: 35,
                                iconPath: '/static/icon/mapIcon.png',
                                title: res.data[i].title,
                                id: res.data[i].id,
                                latitude: res.data[i].location.lat,
                                longitude: res.data[i].location.lng,
                                callout: {
                                    content: res.data[i].title,
                                    fontSize: 12,
                                    borderRadius: 5,
                                    padding: 5,
                                    display: 'ALWAYS',
                                },
                            });
                        }
                        that.setMarkers(mks);
                    },
                    fail: function (res) {
                        console.log(res);
                    },
                    complete: function (res) {
                        console.log(res);
                    },
                });
            },
            //搜索
            setMarkers(marks) {
                let that = this;
                that.markers = marks;
                that.$forceUpdate();
            },
        },
        computed: {
            ...mapGetters(['activeColor', 'navbar']),
        },
        onLoad(option) {
            this.qqmapsdk = new QQMapWX({
                key: '', //申请的key
            });
            uni.showLoading({
                title: '加载中',
            });
            if (option) {
                this.longitude = option.lon;
                this.latitude = option.lat;
                this.centerTitle = option.title;
                // 地图
                this.markers = [
                    {
                         20,
                        height: 23,
                        iconPath: '/static/icon/ditu.png',
                        id: 0,
                        latitude: this.latitude,
                        longitude: this.longitude,
                        title: this.centerTitle,
                        callout: {
                            borderRadius: 5,
                            content: this.centerTitle,
                            display: 'ALWAYS',
                            fontSize: 12,
                            padding: 5,
                        },
                    },
                ];
                this.$nextTick(() => {
                    uni.hideLoading();
                });
            }
        },
    };
    </script>
    
    <style lang='scss' scoped>
    .map-bottom {
         100%;
        display: flex;
        position: fixed;
        bottom: 0;
        background: #ffffff;
        height: 120rpx;
        line-height: 120rpx;
        view {
             25%;
            text-align: center;
            font-size: 32rpx;
            font-weight: bold;
        }
    }
    .map {
        height: calc(100vh - 120rpx);
         100%;
    }
    </style>
    
    


  • 相关阅读:
    PDO的预处理操作
    关于OOP(面向对象)
    关于MySql
    任务三
    任务二
    php文件操作
    php的会话技术
    php的常量 、变量和作用域
    php的函数和超全局变量
    预发布环境和分支部署
  • 原文地址:https://www.cnblogs.com/gggggggxin/p/13954881.html
Copyright © 2011-2022 走看看