@dcloudio/uni-h5 2.0.0 → 2.0.1-32920211122002
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automator.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.umd.min.js +1 -1
- package/lib/apis.js +14 -4
- package/lib/h5/uni.automator.js +1 -1
- package/lib/modules.json +4 -1
- package/manifest.json +49 -0
- package/package.json +2 -3
- package/src/core/helpers/api.js +1 -1
- package/src/core/helpers/constants.js +1 -0
- package/src/core/helpers/i18n/en.json +4 -2
- package/src/core/helpers/i18n/es.json +4 -1
- package/src/core/helpers/i18n/fr.json +4 -1
- package/src/core/helpers/i18n/index.js +155 -4
- package/src/core/helpers/i18n/zh-Hans.json +4 -1
- package/src/core/helpers/i18n/zh-Hant.json +4 -1
- package/src/core/helpers/index.js +1 -1
- package/src/core/helpers/interceptor.js +19 -15
- package/src/core/helpers/promise.js +1 -1
- package/src/core/helpers/protocol/device/set-clipboard-data.js +11 -2
- package/src/core/helpers/protocol/network/request.js +14 -1
- package/src/core/helpers/protocol/network/upload-file.js +1 -1
- package/src/core/helpers/protocol/ui/popup.js +2 -2
- package/src/core/runtime/base.js +2 -0
- package/src/core/runtime/locale.js +37 -0
- package/src/core/runtime/web-view/index.js +4 -0
- package/src/core/runtime/wrapper/create-subpackage-app.js +7 -6
- package/src/core/runtime/wrapper/util.js +6 -1
- package/src/core/service/api/base/interceptor.js +1 -1
- package/src/core/service/api/context/canvas.js +3 -2
- package/src/core/service/api/context/create-map-context.js +8 -1
- package/src/core/service/api/ui/locale.js +50 -0
- package/src/core/service/plugins/app/create-app.js +8 -3
- package/src/core/service/plugins/app/index.js +2 -2
- package/src/core/service/plugins/index.js +8 -2
- package/src/core/view/bridge/subscribe/api/request-component-observer.js +16 -1
- package/src/core/view/components/canvas/index.vue +3 -1
- package/src/core/view/components/editor/formats/image.js +3 -1
- package/src/core/view/components/editor/formats/index.js +3 -1
- package/src/core/view/components/editor/formats/link.js +9 -0
- package/src/core/view/components/editor/index.vue +33 -3
- package/src/core/view/components/image/index.vue +4 -5
- package/src/core/view/components/input/index.vue +53 -25
- package/src/core/view/components/picker-view-column/index.vue +1 -0
- package/src/core/view/components/progress/index.vue +20 -13
- package/src/core/view/components/rich-text/index.vue +13 -1
- package/src/core/view/components/rich-text/nodes-parser.js +23 -4
- package/src/core/view/components/scroll-view/index.vue +253 -122
- package/src/core/view/components/slider/index.vue +1 -1
- package/src/core/view/components/swiper/index.vue +3 -0
- package/src/core/view/components/textarea/index.vue +7 -3
- package/src/core/view/index.css +4 -0
- package/src/core/view/mixins/field.js +27 -9
- package/src/core/view/mixins/interact.js +13 -11
- package/src/core/view/mixins/keyboard.js +42 -26
- package/src/core/view/mixins/touchtrack.js +2 -2
- package/src/core/view/plugins/index.js +1 -1
- package/src/platforms/app-plus/constants.js +1 -0
- package/src/platforms/app-plus/helpers/get-real-path.js +7 -4
- package/src/platforms/app-plus/helpers/uuid.js +1 -1
- package/src/platforms/app-plus/service/api/ad/ad-base.js +159 -0
- package/src/platforms/app-plus/service/api/ad/ad.js +4 -8
- package/src/platforms/app-plus/service/api/ad/full-screen-video-ad.js +5 -98
- package/src/platforms/app-plus/service/api/ad/interactive-ad.js +257 -0
- package/src/platforms/app-plus/service/api/ad/interstitial-ad.js +15 -0
- package/src/platforms/app-plus/service/api/ad/rewarded-video-ad.js +15 -2
- package/src/platforms/app-plus/service/api/device/system.js +3 -2
- package/src/platforms/app-plus/service/api/file/open-document.js +7 -15
- package/src/platforms/app-plus/service/api/index.js +2 -0
- package/src/platforms/app-plus/service/api/location/get-location.js +8 -7
- package/src/platforms/app-plus/service/api/media/choose-image.js +22 -51
- package/src/platforms/app-plus/service/api/media/choose-video.js +19 -36
- package/src/platforms/app-plus/service/api/media/compress-video.js +2 -2
- package/src/platforms/app-plus/service/api/media/get-video-info.js +5 -2
- package/src/platforms/app-plus/service/api/network/request.js +27 -1
- package/src/platforms/app-plus/service/api/network/upload-file.js +1 -1
- package/src/platforms/app-plus/service/api/plugin/oauth.js +140 -8
- package/src/platforms/app-plus/service/api/storage/storage.js +1 -1
- package/src/platforms/app-plus/service/api/ui/popup.js +21 -11
- package/src/platforms/app-plus/service/api/ui/tab-bar.js +3 -2
- package/src/platforms/app-plus/service/api/util.js +5 -1
- package/src/platforms/app-plus/service/framework/app.js +21 -5
- package/src/platforms/app-plus/service/framework/config.js +1 -0
- package/src/platforms/app-plus/service/framework/plugins/index.js +8 -2
- package/src/platforms/app-plus/service/framework/plugins/lifecycle.js +2 -2
- package/src/platforms/app-plus/service/framework/subscribe-handlers/index.js +1 -1
- package/src/platforms/app-plus/service/framework/tab-bar.js +12 -2
- package/src/platforms/app-plus/service/framework/webview/index.js +2 -2
- package/src/platforms/app-plus/service/framework/webview/parser/title-nview-parser.js +73 -30
- package/src/platforms/app-plus/service/framework/webview/parser/webview-style-parser.js +16 -16
- package/src/platforms/app-plus/service/index.js +10 -3
- package/src/platforms/app-plus/service/publish-handler.js +3 -0
- package/src/platforms/app-plus/view/bridge/subscribe/index.js +5 -3
- package/src/platforms/app-plus/view/components/ad/index.vue +53 -44
- package/src/platforms/app-plus/view/components/cover-view/index.vue +13 -7
- package/src/platforms/app-plus/view/components/map/index.vue +29 -27
- package/src/platforms/app-plus/view/components/video/index.vue +40 -24
- package/src/platforms/app-plus/view/framework/plugins/gesture.js +17 -0
- package/src/platforms/app-plus/view/framework/plugins/index.js +3 -1
- package/src/platforms/app-plus/view/index.css +4 -0
- package/src/platforms/app-plus/view/mixins/cover.js +10 -15
- package/src/platforms/app-plus/view/mixins/native.js +45 -3
- package/src/platforms/app-plus-nvue/service/api/context/operate-map-player.js +3 -0
- package/src/platforms/h5/components/app/observable.js +3 -2
- package/src/platforms/h5/components/app/popup/mixins/modal.js +3 -3
- package/src/platforms/h5/components/app/popup/modal.vue +38 -2
- package/src/platforms/h5/components/app/popup/toast.vue +9 -1
- package/src/platforms/h5/components/app/tabBar.vue +39 -17
- package/src/platforms/h5/components/page/index.vue +5 -3
- package/src/platforms/h5/components/page/pageHead.vue +94 -75
- package/src/platforms/h5/components/system-routes/choose-location/index.vue +127 -66
- package/src/platforms/h5/components/system-routes/open-location/index.vue +193 -38
- package/src/platforms/h5/helpers/location.js +26 -0
- package/src/platforms/h5/helpers/todo-api.js +2 -2
- package/src/platforms/h5/service/api/device/clipboard.js +41 -0
- package/src/platforms/h5/service/api/device/get-system-info.js +75 -0
- package/src/platforms/h5/service/api/location/get-location.js +47 -18
- package/src/platforms/h5/service/api/media/MIMEType.js +53 -0
- package/src/platforms/h5/service/api/media/choose-file.js +9 -1
- package/src/platforms/h5/service/api/media/choose-image.js +9 -2
- package/src/platforms/h5/service/api/media/choose-video.js +9 -1
- package/src/platforms/h5/service/api/media/create_input.js +12 -3
- package/src/platforms/h5/service/api/ui/popup.js +3 -5
- package/src/platforms/h5/service/api/ui/tab-bar.js +1 -1
- package/src/platforms/h5/service/index.js +5 -0
- package/src/platforms/h5/view/bridge/subscribe/index.js +3 -2
- package/src/platforms/h5/view/components/ad/index.vue +112 -69
- package/src/platforms/h5/view/components/map/index.vue +96 -349
- package/src/platforms/h5/view/components/map/map-marker.js +287 -0
- package/src/platforms/h5/view/components/map/maps/callout.js +117 -0
- package/src/platforms/h5/view/components/map/maps/index.js +55 -0
- package/src/platforms/h5/view/components/video/index.vue +1 -1
- package/src/platforms/h5/view/index.css +4 -0
- package/src/platforms/mp-alipay/runtime/api/protocols.js +30 -3
- package/src/platforms/mp-baidu/runtime/api/protocols.js +5 -0
- package/src/platforms/mp-baidu/runtime/wrapper/component-parser.js +20 -18
- package/src/platforms/mp-baidu/runtime/wrapper/util.js +2 -1
- package/src/platforms/mp-kuaishou/runtime/api/protocols.js +3 -1
- package/src/platforms/mp-kuaishou/runtime/wrapper/component-parser.js +21 -1
- package/src/platforms/mp-lark/runtime/api/index.js +0 -0
- package/src/platforms/mp-lark/runtime/api/protocols.js +68 -0
- package/src/platforms/mp-lark/runtime/api/providers.js +6 -0
- package/src/platforms/mp-lark/runtime/index.js +1 -0
- package/src/platforms/mp-lark/runtime/web-view.js +11 -0
- package/src/platforms/mp-lark/runtime/wrapper/app-parser.js +33 -0
- package/src/platforms/mp-lark/runtime/wrapper/component-parser.js +50 -0
- package/src/platforms/mp-lark/runtime/wrapper/page-parser.js +39 -0
- package/src/platforms/mp-lark/runtime/wrapper/util.js +64 -0
- package/src/platforms/mp-qq/runtime/api/protocols.js +3 -1
- package/src/platforms/mp-toutiao/runtime/api/protocols.js +2 -0
- package/src/platforms/mp-toutiao/runtime/wrapper/component-parser.js +35 -19
- package/src/platforms/mp-weixin/helpers/get-user-profile.js +6 -0
- package/src/platforms/mp-weixin/runtime/index.js +6 -7
- package/src/platforms/mp-weixin/runtime/wrapper/app-base-parser.js +197 -126
- package/src/platforms/mp-weixin/runtime/wrapper/fix-set-data.js +37 -0
- package/src/shared/uni-id-mixin.js +77 -0
- package/src/shared/util.js +2 -0
|
@@ -3,11 +3,25 @@
|
|
|
3
3
|
:id="id"
|
|
4
4
|
v-on="$listeners"
|
|
5
5
|
>
|
|
6
|
+
<map-marker
|
|
7
|
+
v-for="item in markers"
|
|
8
|
+
:key="item.id"
|
|
9
|
+
v-bind="item"
|
|
10
|
+
/>
|
|
6
11
|
<div
|
|
7
12
|
ref="map"
|
|
8
|
-
style="width: 100%; height: 100%; position: relative; overflow: hidden
|
|
13
|
+
style="width: 100%; height: 100%; position: relative; overflow: hidden"
|
|
9
14
|
/>
|
|
10
|
-
<div
|
|
15
|
+
<div
|
|
16
|
+
style="
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 0;
|
|
19
|
+
width: 100%;
|
|
20
|
+
height: 100%;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
pointer-events: none;
|
|
23
|
+
"
|
|
24
|
+
>
|
|
11
25
|
<slot />
|
|
12
26
|
</div>
|
|
13
27
|
</uni-map>
|
|
@@ -19,124 +33,34 @@ import {
|
|
|
19
33
|
} from 'uni-mixins'
|
|
20
34
|
|
|
21
35
|
import {
|
|
22
|
-
|
|
23
|
-
} from '
|
|
36
|
+
loadMaps
|
|
37
|
+
} from './maps'
|
|
38
|
+
|
|
39
|
+
import mapMarker from './map-marker'
|
|
24
40
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
function
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
} else if (window.qq && window.qq.maps) {
|
|
31
|
-
maps = window.qq.maps
|
|
32
|
-
callback()
|
|
33
|
-
} else if (callbacks) {
|
|
34
|
-
callbacks.push(callback)
|
|
41
|
+
import { ICON_PATH_ORIGIN } from '../../../helpers/location'
|
|
42
|
+
|
|
43
|
+
function getLat (latLng) {
|
|
44
|
+
if ('getLat' in latLng) {
|
|
45
|
+
return latLng.getLat()
|
|
35
46
|
} else {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.position = option.position
|
|
46
|
-
this.index = 1
|
|
47
|
-
this.visible = this.alwaysVisible = option.display === 'ALWAYS'
|
|
48
|
-
this.init()
|
|
49
|
-
Object.defineProperty(this, 'onclick', {
|
|
50
|
-
setter (callback) {
|
|
51
|
-
this.div.onclick = callback
|
|
52
|
-
},
|
|
53
|
-
getter () {
|
|
54
|
-
return this.div.onclick
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
if (map) {
|
|
58
|
-
this.setMap(map)
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
Callout.prototype = new maps.Overlay()
|
|
62
|
-
Callout.prototype.init = function () {
|
|
63
|
-
var option = this.option
|
|
64
|
-
var div = this.div = document.createElement('div')
|
|
65
|
-
var divStyle = div.style
|
|
66
|
-
divStyle.position = 'absolute'
|
|
67
|
-
divStyle.whiteSpace = 'nowrap'
|
|
68
|
-
divStyle.transform = 'translateX(-50%) translateY(-100%)'
|
|
69
|
-
divStyle.zIndex = 1
|
|
70
|
-
divStyle.boxShadow = option.boxShadow || 'none'
|
|
71
|
-
divStyle.display = this.visible ? 'block' : 'none'
|
|
72
|
-
var triangle = this.triangle = document.createElement('div')
|
|
73
|
-
triangle.setAttribute('style',
|
|
74
|
-
'position: absolute;white-space: nowrap;border-width: 4px;border-style: solid;border-color: #fff transparent transparent;border-image: initial;font-size: 12px;padding: 0px;background-color: transparent;width: 0px;height: 0px;transform: translate(-50%, 100%);left: 50%;bottom: 0;'
|
|
75
|
-
)
|
|
76
|
-
this.setStyle(option)
|
|
77
|
-
this.changed = function (key) {
|
|
78
|
-
divStyle.display = this.visible ? 'block' : 'none'
|
|
79
|
-
}
|
|
80
|
-
div.appendChild(triangle)
|
|
81
|
-
}
|
|
82
|
-
Callout.prototype.construct = function () {
|
|
83
|
-
var div = this.div
|
|
84
|
-
var panes = this.getPanes()
|
|
85
|
-
panes.floatPane.appendChild(div)
|
|
86
|
-
}
|
|
87
|
-
Callout.prototype.draw = function () {
|
|
88
|
-
var overlayProjection = this.getProjection()
|
|
89
|
-
if (!this.position || !this.div || !overlayProjection) {
|
|
90
|
-
return
|
|
91
|
-
}
|
|
92
|
-
var pixel = overlayProjection.fromLatLngToDivPixel(this.position)
|
|
93
|
-
var divStyle = this.div.style
|
|
94
|
-
divStyle.left = pixel.x + 'px'
|
|
95
|
-
divStyle.top = pixel.y + 'px'
|
|
96
|
-
}
|
|
97
|
-
Callout.prototype.destroy = function () {
|
|
98
|
-
this.div.parentNode.removeChild(this.div)
|
|
99
|
-
this.div = null
|
|
100
|
-
this.triangle = null
|
|
101
|
-
}
|
|
102
|
-
Callout.prototype.setOption = function (option) {
|
|
103
|
-
this.option = option
|
|
104
|
-
this.setPosition(option.position)
|
|
105
|
-
if (option.display === 'ALWAYS') {
|
|
106
|
-
this.alwaysVisible = this.visible = true
|
|
107
|
-
} else {
|
|
108
|
-
this.alwaysVisible = false
|
|
109
|
-
}
|
|
110
|
-
this.setStyle(option)
|
|
111
|
-
}
|
|
112
|
-
Callout.prototype.setStyle = function (option) {
|
|
113
|
-
var div = this.div
|
|
114
|
-
var divStyle = div.style
|
|
115
|
-
div.innerText = option.content
|
|
116
|
-
divStyle.lineHeight = (option.fontSize || 14) + 'px'
|
|
117
|
-
divStyle.fontSize = (option.fontSize || 14) + 'px'
|
|
118
|
-
divStyle.padding = (option.padding || 8) + 'px'
|
|
119
|
-
divStyle.color = option.color || '#000'
|
|
120
|
-
divStyle.borderRadius = (option.borderRadius || 0) + 'px'
|
|
121
|
-
divStyle.backgroundColor = option.bgColor || '#fff'
|
|
122
|
-
divStyle.marginTop = '-' + (option.top + 5) + 'px'
|
|
123
|
-
this.triangle.style.borderColor = `${option.bgColor || '#fff'} transparent transparent`
|
|
124
|
-
}
|
|
125
|
-
Callout.prototype.setPosition = function (position) {
|
|
126
|
-
this.position = position
|
|
127
|
-
this.draw()
|
|
128
|
-
}
|
|
129
|
-
callbacks.forEach(callback => callback())
|
|
130
|
-
callbacks = null
|
|
131
|
-
}
|
|
132
|
-
const script = document.createElement('script')
|
|
133
|
-
script.src = `https://map.qq.com/api/js?v=2.exp&key=${key}&callback=${callbackName}&libraries=geometry`
|
|
134
|
-
document.body.appendChild(script)
|
|
47
|
+
return latLng.lat()
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getLng (latLng) {
|
|
52
|
+
if ('getLng' in latLng) {
|
|
53
|
+
return latLng.getLng()
|
|
54
|
+
} else {
|
|
55
|
+
return latLng.lng()
|
|
135
56
|
}
|
|
136
57
|
}
|
|
137
58
|
|
|
138
59
|
export default {
|
|
139
60
|
name: 'Map',
|
|
61
|
+
components: {
|
|
62
|
+
mapMarker
|
|
63
|
+
},
|
|
140
64
|
mixins: [subscriber],
|
|
141
65
|
props: {
|
|
142
66
|
id: {
|
|
@@ -194,6 +118,12 @@ export default {
|
|
|
194
118
|
showLocation: {
|
|
195
119
|
type: [Boolean, String],
|
|
196
120
|
default: false
|
|
121
|
+
},
|
|
122
|
+
libraries: {
|
|
123
|
+
type: Array,
|
|
124
|
+
default () {
|
|
125
|
+
return []
|
|
126
|
+
}
|
|
197
127
|
}
|
|
198
128
|
},
|
|
199
129
|
data () {
|
|
@@ -204,7 +134,6 @@ export default {
|
|
|
204
134
|
},
|
|
205
135
|
isMapReady: false,
|
|
206
136
|
isBoundsReady: false,
|
|
207
|
-
markersSync: [],
|
|
208
137
|
polylineSync: [],
|
|
209
138
|
circlesSync: [],
|
|
210
139
|
controlsSync: []
|
|
@@ -222,56 +151,6 @@ export default {
|
|
|
222
151
|
this._map.setZoom(Number(val) || 16)
|
|
223
152
|
})
|
|
224
153
|
},
|
|
225
|
-
markers (val, old) {
|
|
226
|
-
this.mapReady(() => {
|
|
227
|
-
var add = []
|
|
228
|
-
var has = []
|
|
229
|
-
var changed = []
|
|
230
|
-
var changedOption = []
|
|
231
|
-
var remove = []
|
|
232
|
-
val.forEach(option => {
|
|
233
|
-
if (!('id' in option)) {
|
|
234
|
-
add.push(option)
|
|
235
|
-
} else {
|
|
236
|
-
var isOld = false
|
|
237
|
-
for (var index = 0; index < old.length; index++) {
|
|
238
|
-
var element = old[index]
|
|
239
|
-
if (!('id' in element)) {
|
|
240
|
-
old.splice(index--, 1)
|
|
241
|
-
continue
|
|
242
|
-
}
|
|
243
|
-
if (element.id !== option.id) {
|
|
244
|
-
continue
|
|
245
|
-
}
|
|
246
|
-
isOld = true
|
|
247
|
-
has.push(element.id)
|
|
248
|
-
if (JSON.stringify(element) !== JSON.stringify(option)) {
|
|
249
|
-
changed.push(element.id)
|
|
250
|
-
changedOption.push(option)
|
|
251
|
-
}
|
|
252
|
-
old.splice(index--, 1)
|
|
253
|
-
}
|
|
254
|
-
if (!isOld) {
|
|
255
|
-
add.push(option)
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
})
|
|
259
|
-
var markers = this.markersSync
|
|
260
|
-
markers.forEach(marker => {
|
|
261
|
-
var id = marker.id
|
|
262
|
-
var index
|
|
263
|
-
if (has.indexOf(id) >= 0) {
|
|
264
|
-
if ((index = changed.indexOf(id)) >= 0) {
|
|
265
|
-
this.changeMarker(marker, changedOption[index])
|
|
266
|
-
}
|
|
267
|
-
} else {
|
|
268
|
-
remove.push(marker)
|
|
269
|
-
}
|
|
270
|
-
})
|
|
271
|
-
this.removeMarkers(remove)
|
|
272
|
-
this.createMarkers(add)
|
|
273
|
-
})
|
|
274
|
-
},
|
|
275
154
|
polyline (val) {
|
|
276
155
|
this.mapReady(() => {
|
|
277
156
|
this.createPolyline()
|
|
@@ -299,6 +178,7 @@ export default {
|
|
|
299
178
|
}
|
|
300
179
|
},
|
|
301
180
|
created () {
|
|
181
|
+
this._markers = {}
|
|
302
182
|
var latitude = this.latitude
|
|
303
183
|
var longitude = this.longitude
|
|
304
184
|
if (latitude && longitude) {
|
|
@@ -307,12 +187,12 @@ export default {
|
|
|
307
187
|
}
|
|
308
188
|
},
|
|
309
189
|
mounted () {
|
|
310
|
-
|
|
190
|
+
loadMaps(this.libraries, result => {
|
|
191
|
+
this._maps = result
|
|
311
192
|
this.init()
|
|
312
193
|
})
|
|
313
194
|
},
|
|
314
195
|
beforeDestroy () {
|
|
315
|
-
this.removeMarkers(this.markersSync)
|
|
316
196
|
this.removePolyline()
|
|
317
197
|
this.removeCircles()
|
|
318
198
|
this.removeControls()
|
|
@@ -323,6 +203,7 @@ export default {
|
|
|
323
203
|
type,
|
|
324
204
|
data = {}
|
|
325
205
|
}) {
|
|
206
|
+
const maps = this._maps
|
|
326
207
|
function callback (res, err) {
|
|
327
208
|
res = res || {}
|
|
328
209
|
res.errMsg = `${type}:${err ? 'fail' + err : 'ok'}`
|
|
@@ -341,8 +222,8 @@ export default {
|
|
|
341
222
|
var latitude
|
|
342
223
|
var longitude
|
|
343
224
|
var center = this._map.getCenter()
|
|
344
|
-
latitude =
|
|
345
|
-
longitude =
|
|
225
|
+
latitude = getLat(center)
|
|
226
|
+
longitude = getLng(center)
|
|
346
227
|
|
|
347
228
|
callback({
|
|
348
229
|
latitude: latitude,
|
|
@@ -368,7 +249,10 @@ export default {
|
|
|
368
249
|
var duration = data.duration
|
|
369
250
|
var autoRotate = !!data.autoRotate
|
|
370
251
|
var rotate = Number(data.rotate) ? data.rotate : 0
|
|
371
|
-
|
|
252
|
+
let rotation = 0
|
|
253
|
+
if ('getRotation' in marker) {
|
|
254
|
+
rotation = marker.getRotation()
|
|
255
|
+
}
|
|
372
256
|
var a = marker.getPosition()
|
|
373
257
|
var b = new maps.LatLng(destination.latitude, destination.longitude)
|
|
374
258
|
var distance = maps.geometry.spherical.computeDistanceBetween(a, b) / 1000
|
|
@@ -410,8 +294,15 @@ export default {
|
|
|
410
294
|
}
|
|
411
295
|
rotate = maps.geometry.spherical.computeHeading(a, b) - lastRtate
|
|
412
296
|
}
|
|
413
|
-
|
|
414
|
-
|
|
297
|
+
if ('setRotation' in marker) {
|
|
298
|
+
marker.setRotation(rotation + rotate)
|
|
299
|
+
}
|
|
300
|
+
if ('moveTo' in marker) {
|
|
301
|
+
marker.moveTo(b, speed)
|
|
302
|
+
} else {
|
|
303
|
+
marker.setPosition(b)
|
|
304
|
+
maps.event.trigger(marker, 'moveend', {})
|
|
305
|
+
}
|
|
415
306
|
} catch (error) {
|
|
416
307
|
callback(null, error)
|
|
417
308
|
}
|
|
@@ -427,12 +318,12 @@ export default {
|
|
|
427
318
|
var northeast = latLngBounds.getNorthEast()
|
|
428
319
|
callback({
|
|
429
320
|
southwest: {
|
|
430
|
-
latitude:
|
|
431
|
-
longitude:
|
|
321
|
+
latitude: getLat(southwest),
|
|
322
|
+
longitude: getLng(southwest)
|
|
432
323
|
},
|
|
433
324
|
northeast: {
|
|
434
|
-
latitude:
|
|
435
|
-
longitude:
|
|
325
|
+
latitude: getLat(northeast),
|
|
326
|
+
longitude: getLng(northeast)
|
|
436
327
|
}
|
|
437
328
|
})
|
|
438
329
|
})
|
|
@@ -447,6 +338,7 @@ export default {
|
|
|
447
338
|
}
|
|
448
339
|
},
|
|
449
340
|
init () {
|
|
341
|
+
const maps = this._maps
|
|
450
342
|
var center = new maps.LatLng(this.center.latitude, this.center.longitude)
|
|
451
343
|
var map = this._map = new maps.Map(this.$refs.map, {
|
|
452
344
|
center,
|
|
@@ -457,6 +349,9 @@ export default {
|
|
|
457
349
|
zoomControl: false,
|
|
458
350
|
scaleControl: false,
|
|
459
351
|
panControl: false,
|
|
352
|
+
fullscreenControl: false,
|
|
353
|
+
streetViewControl: false,
|
|
354
|
+
keyboardShortcuts: false,
|
|
460
355
|
minZoom: 5,
|
|
461
356
|
maxZoom: 18,
|
|
462
357
|
draggable: true
|
|
@@ -481,8 +376,8 @@ export default {
|
|
|
481
376
|
return {
|
|
482
377
|
scale: map.getZoom(),
|
|
483
378
|
centerLocation: {
|
|
484
|
-
latitude:
|
|
485
|
-
longitude:
|
|
379
|
+
latitude: getLat(center),
|
|
380
|
+
longitude: getLng(center)
|
|
486
381
|
}
|
|
487
382
|
}
|
|
488
383
|
}
|
|
@@ -503,14 +398,11 @@ export default {
|
|
|
503
398
|
var latitude
|
|
504
399
|
var longitude
|
|
505
400
|
var center = map.getCenter()
|
|
506
|
-
latitude =
|
|
507
|
-
longitude =
|
|
401
|
+
latitude = getLat(center)
|
|
402
|
+
longitude = getLng(center)
|
|
508
403
|
this.$emit('update:latitude', latitude)
|
|
509
404
|
this.$emit('update:longitude', longitude)
|
|
510
405
|
})
|
|
511
|
-
if (this.markers && Array.isArray(this.markers) && this.markers.length) {
|
|
512
|
-
this.createMarkers(this.markers)
|
|
513
|
-
}
|
|
514
406
|
if (this.polyline && Array.isArray(this.polyline) && this.polyline.length) {
|
|
515
407
|
this.createPolyline()
|
|
516
408
|
}
|
|
@@ -532,6 +424,7 @@ export default {
|
|
|
532
424
|
this.$emit('mapready')
|
|
533
425
|
},
|
|
534
426
|
centerChange () {
|
|
427
|
+
const maps = this._maps
|
|
535
428
|
var latitude = Number(this.latitude)
|
|
536
429
|
var longitude = Number(this.longitude)
|
|
537
430
|
if (latitude !== this.center.latitude || longitude !== this.center.longitude) {
|
|
@@ -544,156 +437,8 @@ export default {
|
|
|
544
437
|
}
|
|
545
438
|
}
|
|
546
439
|
},
|
|
547
|
-
createMarkers (markerOptions) {
|
|
548
|
-
var map = this._map
|
|
549
|
-
var markers = this.markersSync
|
|
550
|
-
markerOptions.forEach(option => {
|
|
551
|
-
var marker = new maps.Marker({
|
|
552
|
-
map,
|
|
553
|
-
flat: true,
|
|
554
|
-
autoRotation: false
|
|
555
|
-
})
|
|
556
|
-
marker.id = option.id
|
|
557
|
-
this.changeMarker(marker, option)
|
|
558
|
-
maps.event.addListener(marker, 'click', e => {
|
|
559
|
-
var callout = marker.callout
|
|
560
|
-
if (callout) {
|
|
561
|
-
var div = callout.div
|
|
562
|
-
var parent = div.parentNode
|
|
563
|
-
if (!callout.alwaysVisible) {
|
|
564
|
-
callout.set('visible', !callout.visible)
|
|
565
|
-
}
|
|
566
|
-
if (callout.visible) {
|
|
567
|
-
parent.removeChild(div)
|
|
568
|
-
parent.appendChild(div)
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
hasOwn(option, 'id') && this.$trigger('markertap', {}, {
|
|
572
|
-
markerId: option.id
|
|
573
|
-
})
|
|
574
|
-
})
|
|
575
|
-
markers.push(marker)
|
|
576
|
-
})
|
|
577
|
-
},
|
|
578
|
-
changeMarker (marker, option) {
|
|
579
|
-
var self = this
|
|
580
|
-
var map = this._map
|
|
581
|
-
var title = option.title || option.name
|
|
582
|
-
var position = new maps.LatLng(option.latitude, option.longitude)
|
|
583
|
-
var img = new Image()
|
|
584
|
-
img.onload = () => {
|
|
585
|
-
var anchor = option.anchor || {}
|
|
586
|
-
var icon
|
|
587
|
-
var w
|
|
588
|
-
var h
|
|
589
|
-
var top
|
|
590
|
-
var x = anchor.x
|
|
591
|
-
var y = anchor.y
|
|
592
|
-
if (option.iconPath && (option.width || option.height)) {
|
|
593
|
-
w = option.width || img.width / img.height * option.height
|
|
594
|
-
h = option.height || img.height / img.width * option.width
|
|
595
|
-
} else {
|
|
596
|
-
w = img.width / 2
|
|
597
|
-
h = img.height / 2
|
|
598
|
-
}
|
|
599
|
-
x = (typeof x === 'number' ? x : 0.5) * w
|
|
600
|
-
y = (typeof y === 'number' ? y : 1) * h
|
|
601
|
-
top = h - (h - y)
|
|
602
|
-
icon = new maps.MarkerImage(img.src, null, null, new maps.Point(x, y), new maps.Size(w, h))
|
|
603
|
-
marker.setPosition(position)
|
|
604
|
-
marker.setIcon(icon)
|
|
605
|
-
marker.setRotation(option.rotate || 0)
|
|
606
|
-
var labelOpt = option.label || {}
|
|
607
|
-
if (marker.label) {
|
|
608
|
-
marker.label.setMap(null)
|
|
609
|
-
delete (marker.label)
|
|
610
|
-
}
|
|
611
|
-
var label
|
|
612
|
-
if (labelOpt.content) {
|
|
613
|
-
label = new maps.Label({
|
|
614
|
-
position,
|
|
615
|
-
map,
|
|
616
|
-
clickable: false,
|
|
617
|
-
content: labelOpt.content,
|
|
618
|
-
style: {
|
|
619
|
-
border: 'none',
|
|
620
|
-
padding: '8px',
|
|
621
|
-
background: 'none',
|
|
622
|
-
color: labelOpt.color,
|
|
623
|
-
fontSize: (labelOpt.fontSize || 14) + 'px',
|
|
624
|
-
lineHeight: (labelOpt.fontSize || 14) + 'px',
|
|
625
|
-
marginLeft: labelOpt.x,
|
|
626
|
-
marginTop: labelOpt.y
|
|
627
|
-
}
|
|
628
|
-
})
|
|
629
|
-
marker.label = label
|
|
630
|
-
}
|
|
631
|
-
var calloutOpt = option.callout || {}
|
|
632
|
-
var callout = marker.callout
|
|
633
|
-
var calloutStyle
|
|
634
|
-
if (calloutOpt.content) {
|
|
635
|
-
calloutStyle = {
|
|
636
|
-
id: option.id,
|
|
637
|
-
position,
|
|
638
|
-
map,
|
|
639
|
-
top,
|
|
640
|
-
content: calloutOpt.content,
|
|
641
|
-
color: calloutOpt.color,
|
|
642
|
-
fontSize: calloutOpt.fontSize,
|
|
643
|
-
borderRadius: calloutOpt.borderRadius,
|
|
644
|
-
bgColor: calloutOpt.bgColor,
|
|
645
|
-
padding: calloutOpt.padding,
|
|
646
|
-
boxShadow: calloutOpt.boxShadow,
|
|
647
|
-
display: calloutOpt.display
|
|
648
|
-
}
|
|
649
|
-
} else if (title) {
|
|
650
|
-
calloutStyle = {
|
|
651
|
-
id: option.id,
|
|
652
|
-
position,
|
|
653
|
-
map,
|
|
654
|
-
top,
|
|
655
|
-
content: title,
|
|
656
|
-
boxShadow: '0px 0px 3px 1px rgba(0,0,0,0.5)'
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
if (calloutStyle) {
|
|
660
|
-
if (callout) {
|
|
661
|
-
callout.setOption(calloutStyle)
|
|
662
|
-
} else {
|
|
663
|
-
callout = marker.callout = new maps.Callout(calloutStyle)
|
|
664
|
-
|
|
665
|
-
callout.div.onclick = function ($event) {
|
|
666
|
-
hasOwn(option, 'id') && self.$trigger('callouttap', $event, {
|
|
667
|
-
markerId: option.id
|
|
668
|
-
})
|
|
669
|
-
$event.stopPropagation()
|
|
670
|
-
$event.preventDefault()
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
} else {
|
|
674
|
-
if (callout) {
|
|
675
|
-
callout.setMap(null)
|
|
676
|
-
delete (marker.callout)
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
img.src = option.iconPath ? this.$getRealPath(option.iconPath)
|
|
681
|
-
: 'data:image/png;base64,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'
|
|
682
|
-
},
|
|
683
|
-
removeMarkers (markers) {
|
|
684
|
-
for (var index = 0; index < markers.length; index++) {
|
|
685
|
-
var marker = markers[index]
|
|
686
|
-
if (marker.label) {
|
|
687
|
-
marker.label.setMap(null)
|
|
688
|
-
}
|
|
689
|
-
if (marker.callout) {
|
|
690
|
-
marker.callout.setMap(null)
|
|
691
|
-
}
|
|
692
|
-
marker.setMap(null)
|
|
693
|
-
markers.splice(index--, 1)
|
|
694
|
-
}
|
|
695
|
-
},
|
|
696
440
|
createPolyline () {
|
|
441
|
+
const maps = this._maps
|
|
697
442
|
var map = this._map
|
|
698
443
|
var polyline = this.polylineSync
|
|
699
444
|
this.removePolyline()
|
|
@@ -733,6 +478,7 @@ export default {
|
|
|
733
478
|
polyline.splice(0, polyline.length)
|
|
734
479
|
},
|
|
735
480
|
createCircles () {
|
|
481
|
+
const maps = this._maps
|
|
736
482
|
var map = this._map
|
|
737
483
|
var circles = this.circlesSync
|
|
738
484
|
this.removeCircles()
|
|
@@ -740,21 +486,24 @@ export default {
|
|
|
740
486
|
var center = new maps.LatLng(option.latitude, option.longitude)
|
|
741
487
|
|
|
742
488
|
function getColor (color) {
|
|
743
|
-
var c = color.match(/#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?/)
|
|
744
|
-
if (
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
489
|
+
var c = color && color.match(/#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?/)
|
|
490
|
+
if ('Color' in maps) {
|
|
491
|
+
if (c && c.length) {
|
|
492
|
+
return maps.Color.fromHex(c[0], Number('0x' + c[1] || 255) / 255)
|
|
493
|
+
} else {
|
|
494
|
+
return undefined
|
|
495
|
+
}
|
|
748
496
|
}
|
|
497
|
+
return color
|
|
749
498
|
}
|
|
750
499
|
var circle = new maps.Circle({
|
|
751
500
|
map,
|
|
752
501
|
center,
|
|
753
502
|
clickable: false,
|
|
754
503
|
radius: option.radius,
|
|
755
|
-
strokeWeight: option.strokeWidth,
|
|
756
|
-
fillColor: getColor(option.fillColor),
|
|
757
|
-
strokeColor: getColor(option.color),
|
|
504
|
+
strokeWeight: Number(option.strokeWidth) || 1,
|
|
505
|
+
fillColor: getColor(option.fillColor) || getColor('#00000001'),
|
|
506
|
+
strokeColor: getColor(option.color) || '#000000',
|
|
758
507
|
strokeDashStyle: 'solid'
|
|
759
508
|
})
|
|
760
509
|
circles.push(circle)
|
|
@@ -768,6 +517,7 @@ export default {
|
|
|
768
517
|
circles.splice(0, circles.length)
|
|
769
518
|
},
|
|
770
519
|
createControls () {
|
|
520
|
+
const maps = this._maps
|
|
771
521
|
var _self = this
|
|
772
522
|
var map = this._map
|
|
773
523
|
var controls = this.controlsSync
|
|
@@ -814,6 +564,7 @@ export default {
|
|
|
814
564
|
controls.splice(0, controls.length)
|
|
815
565
|
},
|
|
816
566
|
createLocation () {
|
|
567
|
+
const maps = this._maps
|
|
817
568
|
var map = this._map
|
|
818
569
|
var location = this._location
|
|
819
570
|
if (location) {
|
|
@@ -829,9 +580,7 @@ export default {
|
|
|
829
580
|
location = new maps.Marker({
|
|
830
581
|
position,
|
|
831
582
|
map,
|
|
832
|
-
icon: new maps.MarkerImage(
|
|
833
|
-
'data:image/png;base64,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',
|
|
834
|
-
null, null, new maps.Point(22, 22), new maps.Size(44, 44)),
|
|
583
|
+
icon: new maps.MarkerImage(ICON_PATH_ORIGIN, null, null, new maps.Point(22, 22), new maps.Size(44, 44)),
|
|
835
584
|
flat: true,
|
|
836
585
|
rotation: 0
|
|
837
586
|
})
|
|
@@ -879,6 +628,7 @@ export default {
|
|
|
879
628
|
}
|
|
880
629
|
},
|
|
881
630
|
fitBounds (points, cb) {
|
|
631
|
+
const maps = this._maps
|
|
882
632
|
this.boundsReady(() => {
|
|
883
633
|
var map = this._map
|
|
884
634
|
var bounds = new maps.LatLngBounds()
|
|
@@ -914,14 +664,11 @@ export default {
|
|
|
914
664
|
}
|
|
915
665
|
},
|
|
916
666
|
getMarker (id) {
|
|
917
|
-
var
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
if (element.id === id) {
|
|
921
|
-
return element
|
|
922
|
-
}
|
|
667
|
+
var marker = this._markers[id]
|
|
668
|
+
if (!marker) {
|
|
669
|
+
throw new Error('translateMarker: fail cannot find marker with id ' + id)
|
|
923
670
|
}
|
|
924
|
-
|
|
671
|
+
return marker
|
|
925
672
|
}
|
|
926
673
|
}
|
|
927
674
|
}
|