zjk
2026-07-29 429208957f30ab9eedc5533a81aaa284048d09f5
src/pages/robotaxi/home/hooks/use-map-state.ts
@@ -7,6 +7,25 @@
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 的关键展示字段是否一致。
 */
@@ -125,6 +144,7 @@
    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 : []);