| | |
| | | const AUTO_SCALE_MIN = 11; // 自动缩放最小等级 |
| | | const HOME_MAP_POINT_ON_OFF = 1; // 首页地图固定拉取上车点 |
| | | |
| | | // 站点 marker 原始(紫色)图标,来自 formatSiteToMarker |
| | | const OLD_SITE_MARKER_ICON = 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/site-poi.png'; |
| | | // 首页地图站点金色图标 |
| | | const SITE_MARKER_ICON = 'https://s.xiaopeng.com/xp-fe/robot-taxi/imgs/v2/golden-site-20260708.png'; |
| | | |
| | | /** |
| | | * 将站点 marker 的图标替换为首页金色图标(仅影响首页地图)。 |
| | | */ |
| | | const applySiteMarkerIcon = (markerList: any[]) => { |
| | | if (!Array.isArray(markerList)) { |
| | | return markerList; |
| | | } |
| | | return markerList.map((marker) => ( |
| | | marker?.iconPath === OLD_SITE_MARKER_ICON |
| | | ? { ...marker, iconPath: SITE_MARKER_ICON, width: 18, height: 18 } |
| | | : marker |
| | | )); |
| | | }; |
| | | |
| | | /** |
| | | * 比较两批站点 marker 的关键展示字段是否一致。 |
| | | */ |
| | |
| | | setNearbyLoading(true); |
| | | try { |
| | | const result = await fetchMapData(lat, lng, code, HOME_MAP_POINT_ON_OFF); |
| | | result.newMarkers = applySiteMarkerIcon(result.newMarkers); |
| | | setIsOperatingArea(result.isInside); |
| | | setElectronicAreaId(result.electronicAreaId); |
| | | setNearbySites(Array.isArray(result?.sites) ? result.sites : []); |