diff --git a/pages/component/map/map.test.js b/pages/component/map/map.test.js index d354cf81d6c2fcff5e2da50c5612ecaa21c3d0e2..adfc8bef143cd084e663a6283141b5c300639faa 100644 --- a/pages/component/map/map.test.js +++ b/pages/component/map/map.test.js @@ -17,7 +17,7 @@ describe('web-map', () => { }); it('Check MapMethods', async () => { - const mapMethods = ['addControls', 'addMarkers', 'addMarkersLabel','addPolyline', 'addPolygons', 'addCircles','includePoint'] + const mapMethods = ['addControls', 'addMarkers', 'addMarkersLabel','removeMarker','addPolyline','removePolyline', 'addPolygons','removePolygon', 'addCircles','removeCircle','includePoint'] for (var i = 0; i < mapMethods.length; i++) { await page.callMethod(mapMethods[i]) await page.waitFor(500); diff --git a/pages/component/map/map.uvue b/pages/component/map/map.uvue index b8bb27ab55597838265eb7dc4d445c9b5949a4e7..1740e74742218f8bda0208f015b99b39b17bc1f3 100644 --- a/pages/component/map/map.uvue +++ b/pages/component/map/map.uvue @@ -16,12 +16,17 @@ @confirm="confirm_scale_input"> + - + - - - + + + + + + + 方法示例 @@ -188,7 +193,82 @@ padding: 5, display: 'ALWAYS' } - } + }, + { + id: 2, + latitude: 39.894793, + longitude: 116.321592, + title: '北京西站', + zIndex: '1', + iconPath: '../../../static/location.png', + width: 40, + height: 40, + anchor: { + x: 0.5, + y: 1 + }, + callout: { + content: '北京西站', + color: '#ffffff', + fontSize: 12, + borderRadius: 10, + borderWidth: 2, + borderColor: '#333300', + bgColor: '#ff5500', + padding: 5, + display: 'ALWAYS' + } + }, + { + id: 3, + latitude: 39.902344, + longitude: 116.484822, + title: '北京东站', + zIndex: '1', + iconPath: '../../../static/location.png', + width: 20, + height: 20, + anchor: { + x: 0.5, + y: 1 + }, + callout: { + content: '北京东站', + color: '#ffffff', + fontSize: 12, + borderRadius: 10, + borderWidth: 2, + borderColor: '#333300', + bgColor: '#ff5500', + padding: 5, + display: 'ALWAYS' + } + }, + { + id: 4, + latitude: 39.865011, + longitude: 116.379007, + title: '北京南站', + zIndex: '1', + iconPath: '../../../static/location.png', + width: 40, + height: 40, + anchor: { + x: 0.5, + y: 1 + }, + callout: { + content: '北京南站', + color: '#ffffff', + fontSize: 12, + borderRadius: 10, + borderWidth: 2, + borderColor: '#333300', + bgColor: '#00aa00', + padding: 5, + display: 'ALWAYS' + } + }, ]; @@ -390,9 +470,23 @@ const markers = reactive([] as Markers[]); const addMarkers = () => { + scale.value = 11 markers.push(...testMarkers); }; + const removeMarker = () => { + const index = markers.findIndex(marker => marker.id === 4); + if (index !== -1) { + delete markers[index].label; + markers.splice(index, 1); + }else{ + uni.showToast({ + title: '未找到该标记点', + icon: 'none' + }); + } + }; + const addMarkersLabel = () => { markers.forEach((marker, index) => { marker.label = { @@ -413,9 +507,14 @@ const polyline = ref([] as Polyline[]); const addPolyline = () => { - scale.value = 12; + scale.value = 11; polyline.value = testPolyline; }; + const removePolyline = () => { + if (polyline.value.length > 1) { + polyline.value.splice(0, 1); + } + }; const polygons = ref([] as Polygons[]); @@ -423,6 +522,11 @@ scale.value = 10; polygons.value = testPolygons; }; + const removePolygon = () => { + if (polygons.value.length > 1) { + polygons.value.splice(0, 1); + } + }; const circles = ref([] as Circles[]); @@ -430,6 +534,12 @@ scale.value = 10; circles.value = testCircles; }; + const removeCircle = () => { + if (circles.value.length > 1) { + circles.value.splice(0, 1); + } + }; + const showCompass = ref(true); const enable3D = ref(true); @@ -528,6 +638,22 @@ console.log(error) } }); + map.value.translateMarker({ + markerId: 2, + destination: { + latitude: 39.902344, + longitude: 116.484822, + }, + autoRotate: true, + rotate: 0, + duration: 2000, + success: ret => { + console.log('handleTranslateMarker',JSON.stringify(ret)); + }, + fail: error => { + console.log(error) + } + }); } }; @@ -623,9 +749,13 @@ addControls, addMarkers, addMarkersLabel, + removeMarker, addPolyline, + removePolyline, addPolygons, + removePolygon, addCircles, + removeCircle, includePoint, handleGetCenterLocation, handleGetRegion,