Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

明确化InformationMap的input interface #53

Closed
tongshuangwu opened this issue Jan 30, 2020 · 6 comments
Closed

明确化InformationMap的input interface #53

tongshuangwu opened this issue Jan 30, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request general-map

Comments

@tongshuangwu
Copy link
Collaborator

tongshuangwu commented Jan 30, 2020

现在InformationMap.tsx收input的格式描述是:

interface InformationMapProps {
  options: Object
}

作为被人调用的通件我们需要更确切。根据现在调用的数据把Object扩写成实际接受的格式。

之前的相关issue是 #29

@tongshuangwu tongshuangwu added enhancement New feature or request general-map labels Jan 30, 2020
@shadowings-zy
Copy link
Collaborator

这个我来做好了,不过目前由于只有医院的信息,后续如果还有物资等信息的话,就需要再次进行修改。

@tongshuangwu
Copy link
Collaborator Author

tongshuangwu commented Jan 31, 2020

我们和前端尝试保持一致吧?我看到水歌发的:
医疗物资数据结构 同步完了
wuhan2020/rest-api@a15869c
常用医疗物资的静态数据也有了
wuhan2020/wuhan2020.github.io@dafa060
物流公司数据模型
https://github.com/wuhan2020/rest-api/blob/master/source/model/Logistics.ts
宾馆数据结构
https://github.com/wuhan2020/rest-api/blob/master/source/model/Hotel.ts
供应商数据结构
https://github.com/wuhan2020/rest-api/blob/master/source/model/Vendor.ts

为了通用就找个他们共有的几个属性,其他的都扔到metadata之类的,规定格式,然后传进来就直接显示就行了。比如:

interface GeoData {
  // 控制显示的icon和label name
  type: "hospital"|"hotel"|'logistic"|"vendor",
  
  // 显示名称
  name: string,
  // 坐标
  coord: [number, number],
  metadata: {
    key: string, 
    value: string, 
    // 如果是邮件/电话/网址可以有链接
    url?:  string 
  }
}

然后通用组件就接受GeoData[].
至于现在的

hospitalLabel: {
  // 有没有可能自动算一下initPoint和zoom,或者就固定?
  initPoint: [116.350658, 39.938285],
  zoom: 6,
   // 剩下这些我觉得应该咨询一下designer team,固定好了就写死,不留接口给外面~
   labelText: '医院',
    labelStyle: {
      color: 'white',
      backgroundColor: 'red',
      border: '0px'
    },
  }

@tongshuangwu
Copy link
Collaborator Author

@shadowings-zy

@shadowings-zy
Copy link
Collaborator

我看了一下水歌的数据格式,能显示在地图上的只有医院信息和宾馆信息。
其他的信息因为没有经纬度所以显示不了。
所以我们的GeoData中的type应该只有"hospital"|"hotel",
最后格式大概是这样子:
interface GeoData { type: "hospital"|"hotel" name: string, coord: [number, number], metadata: { key: string, value: string, url?: string } }

label的text和style可以咨询设计之后固定下来。
这样我觉得就ok了。

@shadowings-zy shadowings-zy self-assigned this Jan 31, 2020
@tongshuangwu
Copy link
Collaborator Author

我去问一下design以及确认一下是不是只有这两个需要做地图信息~

@tongshuangwu
Copy link
Collaborator Author

我看了一下,那个metadata还是得给他们定一下格式的,要么就做医院和酒店两个interface,要么就写一个尽可能general的然后接受他们自己加别的option。这个我来看一下吧~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request general-map
Projects
None yet
Development

No branches or pull requests

2 participants