CourseAddress.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <view class="com-course-address" v-if="course">
  3. <view class="address">
  4. <view class="time">
  5. <view class="icon"><image src="/static/images/timer.png" class="img"></image></view>
  6. <view class="tips">时间:{{course.openTime}}</view>
  7. </view>
  8. <view class="time">
  9. <view class="icon"><image src="/static/images/local.png" class="img"></image></view>
  10. <view class="tips" @click="onOpenMap">地址:{{course.address}}</view>
  11. </view>
  12. </view>
  13. <view class="service">
  14. <view class="icon">
  15. <image src="/static/images/customservice.png" class="img"></image>
  16. </view>
  17. <view class="tips">
  18. 客服
  19. </view>
  20. </view>
  21. <map id="map" ref="map" style="display: none;" v-if="course && course.id>0" :show-location="true" :latitude="course.latitude" :longitude="course.longitude"></map>
  22. </view>
  23. </template>
  24. <script>
  25. export default {
  26. name:"CourseAddress",
  27. props:{
  28. course:{
  29. type:Object,
  30. default:()=>{
  31. return null;
  32. }
  33. }
  34. },
  35. data() {
  36. return {
  37. };
  38. },
  39. methods:{
  40. onOpenMap(e){
  41. let _this=this;
  42. _this._mapContext = uni.createMapContext("map", _this);
  43. _this._mapContext.openMapApp({
  44. longitude:parseFloat(_this.course.longitude),
  45. latitude:parseFloat(_this.course.latitude),
  46. destination:_this.course.address,
  47. success:(res)=>{
  48. },
  49. fail:(res)=>{
  50. },
  51. complete:(res)=>{
  52. }
  53. })
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss">
  59. @import './CourseAddress.scss'
  60. </style>