百度地图Api 驾车导航 search方法执行后直接显示信息窗口 怎么实现 为什么信息窗口只显示最后一个
时间: 2024-03-27 12:35:49 浏览: 61
百度地图API提供了一个叫做InfoWindow的组件,用于在地图上显示信息窗口。如果您希望在search方法执行后直接显示信息窗口,可以在searchComplete回调函数中创建并打开一个InfoWindow,例如:
```
var searchComplete = function(results) {
//创建InfoWindow
var infoWindow = new BMap.InfoWindow("这里是信息窗口内容");
//打开InfoWindow
map.openInfoWindow(infoWindow, map.getCenter());
};
//执行search方法
driving.search(startPoint, endPoint);
```
至于为什么信息窗口只显示最后一个,可能是因为您在searchComplete回调函数中每次都创建了一个新的InfoWindow,并且都使用了相同的变量名,导致前面创建的InfoWindow被覆盖了。为了解决这个问题,您可以将InfoWindow的变量名设置为全局变量,在每次回调函数中只更新InfoWindow的内容即可,例如:
```
//全局变量
var infoWindow = new BMap.InfoWindow();
var searchComplete = function(results) {
//更新InfoWindow的内容
infoWindow.setContent("这里是信息窗口内容");
//打开InfoWindow
map.openInfoWindow(infoWindow, map.getCenter());
};
//执行search方法
driving.search(startPoint, endPoint);
```
这样,每次回调函数都只会更新InfoWindow的内容,不会覆盖之前创建的InfoWindow。
阅读全文