|
|
@@ -1568,12 +1568,23 @@ export default {
|
|
|
/**
|
|
|
* 搜索框选中回调:定位 + 立即触发视口重算(避免 100ms debounce 延迟),
|
|
|
* 让目标 marker 在 setZoomAndCenter 动画期间就完成挂载。
|
|
|
+ * Home 页另在飞行结束后弹出该路口的 InfoWindow,与 marker click 行为一致。
|
|
|
*/
|
|
|
onSearchSelect(item) {
|
|
|
if (!item) return;
|
|
|
const id = item['路口编号'];
|
|
|
- this.focusById(id);
|
|
|
+ const finalPos = this.focusById(id);
|
|
|
this.computeVisibleMarkers();
|
|
|
+
|
|
|
+ if (!finalPos) return;
|
|
|
+ if (!(this.$route && this.$route.path === '/home')) return;
|
|
|
+ const marker = this.markerById[id];
|
|
|
+ if (!marker) return;
|
|
|
+ setTimeout(() => {
|
|
|
+ if (this.isComponentDestroyed) return;
|
|
|
+ this._infoWindowProtectedMarker = marker;
|
|
|
+ this.openLightInfo(marker.getExtData(), finalPos);
|
|
|
+ }, 600);
|
|
|
},
|
|
|
|
|
|
/**
|