18 changed files with 1859 additions and 32 deletions
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 96 KiB |
@ -0,0 +1,22 @@ |
|||
<script> |
|||
export default { |
|||
onLaunch: function() { |
|||
console.log('App Launch') |
|||
}, |
|||
onShow: function() { |
|||
console.log('App Show') |
|||
}, |
|||
onHide: function() { |
|||
console.log('App Hide') |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */ |
|||
// @import "uview-ui/index.scss"; |
|||
|
|||
.cell-hover-class { |
|||
background-color: rgb(0, 170, 255); |
|||
} |
|||
</style> |
@ -0,0 +1,14 @@ |
|||
学习uni插件发布 |
|||
###1、安装 vue-baidu-map |
|||
#### cnpm install vue-baidu-map --save |
|||
|
|||
###2、main.js引入 |
|||
|
|||
####import BaiduMap from 'vue-baidu-map' |
|||
####import {BmlMarkerClusterer} from 'vue-baidu-map' |
|||
####Vue.component('bml-marker-cluster', BmlMarkerClusterer) |
|||
|
|||
|
|||
####Vue.use(BaiduMap, { |
|||
#### ak: 'your ak' |
|||
####}) |
@ -0,0 +1,23 @@ |
|||
import Vue from 'vue' |
|||
import App from './App' |
|||
// import uView from "uview-ui";
|
|||
|
|||
import BaiduMap from 'vue-baidu-map' |
|||
import {BmlMarkerClusterer} from 'vue-baidu-map' |
|||
|
|||
Vue.component('bml-marker-cluster', BmlMarkerClusterer) |
|||
Vue.config.productionTip = false |
|||
|
|||
|
|||
App.mpType = 'app' |
|||
|
|||
// Vue.use(uView);
|
|||
Vue.use(BaiduMap, { |
|||
// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
|
|||
ak: 'xxxxxxxxxxxxxxxxxxxxxxxx' |
|||
}) |
|||
|
|||
const app = new Vue({ |
|||
...App |
|||
}) |
|||
app.$mount() |
@ -0,0 +1,85 @@ |
|||
{ |
|||
"name" : "百度地图,高德地图,谷歌地图实现导航", |
|||
"appid" : "", |
|||
"description" : "", |
|||
"versionName" : "1.0.0", |
|||
"versionCode" : "100", |
|||
"transformPx" : false, |
|||
/* 5+App特有相关 */ |
|||
"app-plus" : { |
|||
"usingComponents" : true, |
|||
"nvueCompiler" : "uni-app", |
|||
"compilerVersion" : 3, |
|||
"splashscreen" : { |
|||
"alwaysShowBeforeRender" : true, |
|||
"waiting" : true, |
|||
"autoclose" : true, |
|||
"delay" : 0 |
|||
}, |
|||
/* 模块配置 */ |
|||
"modules" : {}, |
|||
/* 应用发布信息 */ |
|||
"distribute" : { |
|||
/* android打包配置 */ |
|||
"android" : { |
|||
"permissions" : [ |
|||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
|||
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
|||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
|||
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.CAMERA\"/>", |
|||
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>", |
|||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>", |
|||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
|||
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>", |
|||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", |
|||
"<uses-feature android:name=\"android.hardware.camera\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", |
|||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" |
|||
] |
|||
}, |
|||
/* ios打包配置 */ |
|||
"ios" : {}, |
|||
/* SDK配置 */ |
|||
"sdkConfigs" : {} |
|||
} |
|||
}, |
|||
/* 快应用特有相关 */ |
|||
"quickapp" : {}, |
|||
/* 小程序特有相关 */ |
|||
"mp-weixin" : { |
|||
"appid" : "", |
|||
"setting" : { |
|||
"urlCheck" : false |
|||
}, |
|||
"usingComponents" : true |
|||
}, |
|||
"mp-alipay" : { |
|||
"usingComponents" : true |
|||
}, |
|||
"mp-baidu" : { |
|||
"usingComponents" : true |
|||
}, |
|||
"mp-toutiao" : { |
|||
"usingComponents" : true |
|||
}, |
|||
"uniStatistics" : { |
|||
"enable" : false |
|||
}, |
|||
"h5" : { |
|||
"router" : { |
|||
"mode" : "history", |
|||
"base" : "/map" |
|||
} |
|||
}, |
|||
"vueVersion" : "2" |
|||
} |
@ -0,0 +1,9 @@ |
|||
{ |
|||
"dependencies": { |
|||
"vue-baidu-map": "^0.21.22" |
|||
}, |
|||
"devDependencies": { |
|||
"node-sass": "^5.0.0", |
|||
"sass-loader": "^10.1.0" |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
{ |
|||
// "easycom": { |
|||
// "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" |
|||
// }, |
|||
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages |
|||
|
|||
{ |
|||
"path": "pages/index/map", |
|||
"style": { |
|||
"navigationBarTitleText": "uni-app" |
|||
} |
|||
} |
|||
], |
|||
"globalStyle": { |
|||
"navigationBarTextStyle": "black", |
|||
"navigationBarTitleText": "uni-app", |
|||
"navigationBarBackgroundColor": "#F8F8F8", |
|||
"backgroundColor": "#F8F8F8" |
|||
} |
|||
|
|||
} |
@ -0,0 +1,171 @@ |
|||
<template> |
|||
<view><button @click="button_bt">点击事件</button></view> |
|||
</template> |
|||
<script> |
|||
|
|||
export default { |
|||
components: { |
|||
|
|||
}, |
|||
data() { |
|||
return { |
|||
|
|||
}; |
|||
}, |
|||
methods: { |
|||
button_bt(){ |
|||
this.toMapAPP("经度","纬度","地址") |
|||
}, |
|||
toMapAPP(lat,lon,cityName) { |
|||
var url = ''; |
|||
if (plus.os.name == 'Android') { |
|||
|
|||
var hasBaiduMap = plus.runtime.isApplicationExist({ |
|||
|
|||
pname: 'com.baidu.BaiduMap', |
|||
|
|||
action: 'baidumap://' |
|||
|
|||
}); |
|||
|
|||
var hasAmap = plus.runtime.isApplicationExist({ |
|||
|
|||
pname: 'com.autonavi.minimap', |
|||
|
|||
action: 'androidamap://' |
|||
|
|||
}); |
|||
|
|||
var urlBaiduMap = 'baidumap://map/marker?location=' + lat + ',' + lon + '&title=' + cityName + '&src=婚梯'; |
|||
|
|||
var urlAmap = 'androidamap://viewMap?sourceApplication=婚梯&poiname=' + cityName + '&lat=' + lat + '&lon=' + lon + |
|||
|
|||
'&dev=0'; |
|||
|
|||
// if (hasAmap && hasBaiduMap) { |
|||
|
|||
plus.nativeUI.actionSheet({ |
|||
|
|||
title: '选择地图应用', |
|||
|
|||
cancel: '取消', |
|||
|
|||
buttons: [{ |
|||
|
|||
title: '百度地图' |
|||
|
|||
}, { |
|||
|
|||
title: '高德地图' |
|||
|
|||
} ,{ |
|||
|
|||
title: '谷歌地图' |
|||
|
|||
}] |
|||
|
|||
}, function(e) { |
|||
|
|||
switch (e.index) { |
|||
|
|||
case 1: |
|||
|
|||
plus.runtime.openURL(urlBaiduMap); |
|||
|
|||
break; |
|||
|
|||
case 2: |
|||
|
|||
plus.runtime.openURL(urlAmap); |
|||
|
|||
break; |
|||
|
|||
case 3: |
|||
|
|||
url = 'geo:' + lat + ',' + lon + '?q='+cityName; //如果是国外应用,应该优先使用这个,会启动google地图。这个接口不能统一坐标系,进入百度地图时会有偏差 |
|||
|
|||
plus.runtime.openURL(url); |
|||
break; |
|||
} |
|||
|
|||
}); |
|||
|
|||
} else { |
|||
|
|||
|
|||
plus.nativeUI.actionSheet({ |
|||
|
|||
title: '选择地图应用', |
|||
|
|||
cancel: '取消', |
|||
|
|||
buttons: [{ |
|||
|
|||
title: 'Apple地图' |
|||
|
|||
}, { |
|||
|
|||
title: '高德地图' |
|||
|
|||
} ,{ |
|||
|
|||
title: '谷歌地图' |
|||
|
|||
}] |
|||
|
|||
}, function(e) { |
|||
|
|||
console.log('e.index: ' + e.index); |
|||
|
|||
switch (e.index) { |
|||
|
|||
case 1: |
|||
|
|||
url = 'http://maps.apple.com/?q=%e6%95%b0%e5%ad%97%e5%a4%a9%e5%a0%82&ll=' + lat + ',' + lon + |
|||
|
|||
'&spn=0.008766,0.019441'; |
|||
|
|||
break; |
|||
|
|||
case 2: |
|||
|
|||
url = 'baidumap://map/marker?location=' + lat + ',' + lon + '&title=' + cityName + '&src=婚梯'; |
|||
|
|||
break; |
|||
|
|||
case 3: |
|||
|
|||
url = 'iosamap://viewMap?sourceApplication=婚梯&poiname=' + cityName + '&lat=' + lat + '&lon=' + lon + '&dev=0'; |
|||
|
|||
break; |
|||
case 4: |
|||
|
|||
url = 'geo:' + lat + ',' + lon + '?q='+cityName; //如果是国外应用,应该优先使用这个,会启动google地图。这个接口不能统一坐标系,进入百度地图时会有偏差 |
|||
|
|||
plus.runtime.openURL(url); |
|||
break; |
|||
default: |
|||
|
|||
break; |
|||
|
|||
} |
|||
|
|||
if (url != '') { |
|||
|
|||
plus.runtime.openURL(url, function(e) { |
|||
|
|||
plus.nativeUI.alert('本机未安装指定的地图应用'); |
|||
|
|||
}); |
|||
|
|||
} |
|||
|
|||
}); |
|||
|
|||
} |
|||
|
|||
} |
|||
}, |
|||
}; |
|||
</script> |
|||
<style></style> |
@ -0,0 +1,76 @@ |
|||
/** |
|||
* 这里是uni-app内置的常用样式变量 |
|||
* |
|||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 |
|||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App |
|||
* |
|||
*/ |
|||
|
|||
/** |
|||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 |
|||
* |
|||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 |
|||
*/ |
|||
|
|||
/* 颜色变量 */ |
|||
/* 行为相关颜色 */ |
|||
// @import 'uview-ui/theme.scss'; |
|||
$uni-color-primary: #007aff; |
|||
$uni-color-success: #4cd964; |
|||
$uni-color-warning: #f0ad4e; |
|||
$uni-color-error: #dd524d; |
|||
|
|||
/* 文字基本颜色 */ |
|||
$uni-text-color:#333;//基本色 |
|||
$uni-text-color-inverse:#fff;//反色 |
|||
$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 |
|||
$uni-text-color-placeholder: #808080; |
|||
$uni-text-color-disable:#c0c0c0; |
|||
|
|||
/* 背景颜色 */ |
|||
$uni-bg-color:#ffffff; |
|||
$uni-bg-color-grey:#f8f8f8; |
|||
$uni-bg-color-hover:#f1f1f1;//点击状态颜色 |
|||
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 |
|||
|
|||
/* 边框颜色 */ |
|||
$uni-border-color:#c8c7cc; |
|||
|
|||
/* 尺寸变量 */ |
|||
|
|||
/* 文字尺寸 */ |
|||
$uni-font-size-sm:24rpx; |
|||
$uni-font-size-base:28rpx; |
|||
$uni-font-size-lg:32rpx; |
|||
|
|||
/* 图片尺寸 */ |
|||
$uni-img-size-sm:40rpx; |
|||
$uni-img-size-base:52rpx; |
|||
$uni-img-size-lg:80rpx; |
|||
|
|||
/* Border Radius */ |
|||
$uni-border-radius-sm: 4rpx; |
|||
$uni-border-radius-base: 6rpx; |
|||
$uni-border-radius-lg: 12rpx; |
|||
$uni-border-radius-circle: 50%; |
|||
|
|||
/* 水平间距 */ |
|||
$uni-spacing-row-sm: 10px; |
|||
$uni-spacing-row-base: 20rpx; |
|||
$uni-spacing-row-lg: 30rpx; |
|||
|
|||
/* 垂直间距 */ |
|||
$uni-spacing-col-sm: 8rpx; |
|||
$uni-spacing-col-base: 16rpx; |
|||
$uni-spacing-col-lg: 24rpx; |
|||
|
|||
/* 透明度 */ |
|||
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 |
|||
|
|||
/* 文章场景相关 */ |
|||
$uni-color-title: #2C405A; // 文章标题颜色 |
|||
$uni-font-size-title:40rpx; |
|||
$uni-color-subtitle: #555555; // 二级标题颜色 |
|||
$uni-font-size-subtitle:36rpx; |
|||
$uni-color-paragraph: #3F536E; // 文章段落颜色 |
|||
$uni-font-size-paragraph:30rpx; |
Loading…
Reference in new issue