1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <template>
- <view class="content">
- <map id="map" class="map" :show-location="true" :latitude="latitude" :longitude="longitude"></map>
- </view>
- </template>
- <script>
- const img = '/static/logo.png';
- export default {
- data() {
- return {
- latitude: 43.780458,
- longitude: 125.384426,
- }
- },
- onReady() {
- this._mapContext = uni.createMapContext("map", this);
- // 仅调用初始化,才会触发 on.("markerClusterCreate", (e) => {})
- this._mapContext.initMarkerCluster({
- enableDefaultStyle: false,
- zoomOnClick: true,
- gridSize: 60,
- complete(res) {
- console.log('initMarkerCluster', res)
- }
- });
- this._mapContext.on("markerClusterCreate", (e) => {
- console.log("markerClusterCreate", e);
- });
- this.addMarkers();
- },
- methods: {
- addMarkers() {
- const positions = [
- {
- latitude: 43.780458,
- longitude: 125.384426,
- }
- ]
- const markers = []
- positions.forEach((p, i) => {
- console.log(i)
- markers.push(
- Object.assign({},{
- id: i + 1,
- iconPath: img,
- width: 50,
- height: 100,
- joinCluster: true, // 指定了该参数才会参与聚合
- label: {
- width: 50,
- height: 30,
- borderWidth: 1,
- borderRadius: 10,
- bgColor: '#ffffff',
- content: `定位点`
- }
- },p)
- )
- })
- this._mapContext.addMarkers({
- markers,
- clear: false,
- complete(res) {
- console.log('addMarkers', res)
- }
- })
- }
- }
- }
- </script>
- <style>
- .content {
- flex: 1;
- }
- .map {
- width: 20rem;
- height: 40rem;
- flex: 1;
- }
- </style>
|