@heycar/heycars-map 0.7.11 → 0.8.1
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/README.md +112 -0
- package/dist/index.cjs +411 -131
- package/dist/index.js +411 -131
- package/dist/src/Demo/DemoBusinessReselectPlace.d.ts +1 -0
- package/dist/src/business-components/AbsoluteAddressBox/AbsoluteAddressBox.css.d.ts +8 -1
- package/dist/src/business-components/AbsoluteAddressBox/AbsoluteAddressBox.d.ts +1 -0
- package/dist/src/business-components/BusinessQuotingMap/BusinessQuotingMap.d.ts +4 -2
- package/dist/src/business-components/BusinessRecomendPlaceMap/BusinessRecomendPlaceMap.d.ts +5 -0
- package/dist/src/business-components/BusinessReselectPlaceMap/BusinessReselectPlaceMap.d.ts +6 -0
- package/dist/src/business-components/BusinessReselectPlaceMap/index.d.ts +1 -0
- package/dist/src/business-components/StartEndPoint/StartEndPoint.css.d.ts +16 -0
- package/dist/src/business-components/StartEndPoint/StartEndPoint.d.ts +6 -3
- package/dist/src/hooks-business/useBusinessRecomendPlaceMap.d.ts +0 -2
- package/dist/src/hooks-business/useBusinessReselectPlaceMap.d.ts +20 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/utils/compare.d.ts +1 -0
- package/dist/style.css +23 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -88,6 +88,7 @@ export interface RecommendZonePlaces {
|
|
|
88
88
|
为了方便集成,已经将常用业务逻辑集成在四个业务组件里面,下面是推荐使用的业务组件
|
|
89
89
|
|
|
90
90
|
- `BusinessRecomendPlaceMap`
|
|
91
|
+
- `BusinessReselectPlaceMap`
|
|
91
92
|
- `BusinessQuotingMap`
|
|
92
93
|
- `BusinessTaxiServiceMap`
|
|
93
94
|
- `BusinessTaxiEndMap`
|
|
@@ -95,6 +96,7 @@ export interface RecommendZonePlaces {
|
|
|
95
96
|
下面三个是推荐搭配使用的业务 hooks
|
|
96
97
|
|
|
97
98
|
- `useBusinessRecomendPlaceMap`
|
|
99
|
+
- `useBusinessReselectPlaceMap`
|
|
98
100
|
- `useBusinessQuotingMap`
|
|
99
101
|
- `useBusinessTaxiServiceMap`
|
|
100
102
|
|
|
@@ -215,6 +217,114 @@ export default defineComponent({
|
|
|
215
217
|
});
|
|
216
218
|
```
|
|
217
219
|
|
|
220
|
+
#### 选择上车点和推荐点的地图组件 `BusinessReselectPlaceMap`
|
|
221
|
+
|
|
222
|
+
对于 jsx/tsx 文件的例子
|
|
223
|
+
|
|
224
|
+
```jsx
|
|
225
|
+
import { defineComponent } from "vue";
|
|
226
|
+
import { BusinessReselectPlaceMap, useBusinessReselectPlaceMap } from "@heycar/heycars-map";
|
|
227
|
+
|
|
228
|
+
export default defineComponent({
|
|
229
|
+
setup() {
|
|
230
|
+
const {
|
|
231
|
+
centerPlace,
|
|
232
|
+
mapContext,
|
|
233
|
+
setCenterPlaceByUserSpecified,
|
|
234
|
+
setCenterPlaceByUserSpecifiedInZone,
|
|
235
|
+
} = useBusinessReselectPlaceMap();
|
|
236
|
+
// 演示 setCenterPlaceByUserSpecifiedInZone 的用法
|
|
237
|
+
const demoForUsage = () => {
|
|
238
|
+
setCenterPlaceByUserSpecifiedInZone({
|
|
239
|
+
// 期望的地图中心点
|
|
240
|
+
place: {
|
|
241
|
+
lng: 139.56,
|
|
242
|
+
lat: 35.56,
|
|
243
|
+
name: "user specified place in zone",
|
|
244
|
+
displayName: "user specified place in zone",
|
|
245
|
+
},
|
|
246
|
+
// 推荐点和绿区信息
|
|
247
|
+
recommends: {
|
|
248
|
+
// 绿区
|
|
249
|
+
zone: {
|
|
250
|
+
name: "zone 1",
|
|
251
|
+
path: [
|
|
252
|
+
[139.569, 35.555],
|
|
253
|
+
[139.558, 35.55],
|
|
254
|
+
[139.56, 35.565],
|
|
255
|
+
],
|
|
256
|
+
},
|
|
257
|
+
// 绿区内的推荐点列表
|
|
258
|
+
places: [
|
|
259
|
+
{
|
|
260
|
+
lng: 139.56,
|
|
261
|
+
lat: 35.56,
|
|
262
|
+
name: "user specified place in zone",
|
|
263
|
+
displayName: "user specified place in zone",
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
lng: 139.562,
|
|
267
|
+
lat: 35.562,
|
|
268
|
+
name: "recommend place 2",
|
|
269
|
+
displayName: "recommend place 2",
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
};
|
|
275
|
+
return () => (
|
|
276
|
+
<BusinessReselectPlaceMap
|
|
277
|
+
class={"demo"}
|
|
278
|
+
unavailableTitle={"当前区域暂未开通服务"}
|
|
279
|
+
recomendDescription={"您将在此处上车"}
|
|
280
|
+
defaultPlace={{
|
|
281
|
+
lng: 139.777777,
|
|
282
|
+
lat: 35.777777,
|
|
283
|
+
name: "default place name",
|
|
284
|
+
displayName: "default place display name",
|
|
285
|
+
}}
|
|
286
|
+
getRecomendPlace={async ({ lng, lat }) => {
|
|
287
|
+
// 向后端获取推荐点信息
|
|
288
|
+
return {
|
|
289
|
+
// 服务是否可用
|
|
290
|
+
available: true,
|
|
291
|
+
// 绿区
|
|
292
|
+
zone: {
|
|
293
|
+
name: "绿区名称",
|
|
294
|
+
path: [
|
|
295
|
+
[lng - 0.001, lat + 0.001],
|
|
296
|
+
[lng, lat - 0.001],
|
|
297
|
+
[lng + 0.001, lat + 0.0005],
|
|
298
|
+
],
|
|
299
|
+
},
|
|
300
|
+
// 推荐点列表
|
|
301
|
+
places: [
|
|
302
|
+
{ lat: lat - 0.00001, lng: lng + 0.0001, name: "place 1", displayName: "place 1" },
|
|
303
|
+
{ lat: lat - 0.0002, lng: lng + 0.0002, name: "place 2", displayName: "place 2" },
|
|
304
|
+
{ lat: lat - 0.0002, lng: lng - 0.0001, name: "place 3", displayName: "place 3" },
|
|
305
|
+
],
|
|
306
|
+
};
|
|
307
|
+
}}
|
|
308
|
+
onChangeRecomandPlace={({ place, inputPlace, isInZone }) => {
|
|
309
|
+
console.log("用户操作地图,计算推荐点后得出的最终位置时触发,此时可以向后端查询城市信息");
|
|
310
|
+
console.log(
|
|
311
|
+
"计算推荐点之前的地址是: ",
|
|
312
|
+
inputPlace,
|
|
313
|
+
" 最终的地址是: ",
|
|
314
|
+
place,
|
|
315
|
+
" 是否在绿区内: ",
|
|
316
|
+
isInZone
|
|
317
|
+
);
|
|
318
|
+
}}
|
|
319
|
+
onGeoError={() => {
|
|
320
|
+
console.log("获取GPS失败时触发,此时可以弹框告诉用户");
|
|
321
|
+
}}
|
|
322
|
+
/>
|
|
323
|
+
);
|
|
324
|
+
},
|
|
325
|
+
});
|
|
326
|
+
```
|
|
327
|
+
|
|
218
328
|
#### 询价业务的地图组件 `BusinessQuotingMap`
|
|
219
329
|
|
|
220
330
|
对于 jsx/tsx 文件的例子
|
|
@@ -247,6 +357,8 @@ export default defineComponent({
|
|
|
247
357
|
}
|
|
248
358
|
mapRef={setMap}
|
|
249
359
|
registerOverlay={registerFitVeiw}
|
|
360
|
+
onClickStartPoint={(place) => console.log("点击起点时触发 palce = ", place)}
|
|
361
|
+
onClickEndPoint={(place) => console.log("点击终点时触发 palce = ", place)}
|
|
250
362
|
/>
|
|
251
363
|
);
|
|
252
364
|
},
|