集成了百度导航、地图、定位SDK,我在一个搜索poi页面左边设置了一个listview,右边的显示地图,当我去点击listview的时候,右侧地图会出现黑屏,这个黑屏的大小和我的listview的大小一模一样,这个怎么回事? <RelativeLayout android:id="@+id/poi_list_container" android:layout_width="360dp" android:layout_height="wrap_content" android:background="@drawable/bg_list_circular" android:visibility="gone"> <ListView android:id="@+id/poi_list" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" /> </RelativeLayout> <RelativeLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"> <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:focusable="true" /> </RelativeLayout>
时间: 2024-03-19 15:42:53 浏览: 20
这种情况可能是因为地图控件的覆盖范围被遮挡了,可以尝试将地图控件的布局代码放在listview的布局代码之前,或者在地图控件的布局代码中添加android:layout_below="@id/poi_list_container"属性,将地图控件的位置放在listview下面。同时,也可以尝试调整listview的高度,避免与地图控件的布局重叠。
相关问题
集成了百度导航、地图、定位SDK,我在一个搜索poi页面左边设置了一个listview,右边的显示地图,当我去点击listview的时候,右侧地图会出现黑屏,这个黑屏的大小和我的listview的大小一模一样,这个怎么回事?
这个问题可能是因为在点击listview时,地图控件发生了重绘,并覆盖了整个屏幕,导致屏幕上只显示了地图控件而没有显示其他控件。你可以尝试在listview的点击事件中添加以下代码来解决这个问题:
```java
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 点击listview时暂停地图的绘制
mapView.onPause();
// 执行其他操作
// ...
// 操作完成后恢复地图的绘制
mapView.onResume();
}
});
```
这样,在点击listview时,会暂停地图的绘制,执行其他操作后再恢复地图的绘制,从而避免了地图控件覆盖其他控件的问题。
用python写一个爬取百度地图poi代码
好的,以下是Python代码示例,使用百度地图API爬取POI信息:
```python
import requests
import json
# 百度地图API接口
url = "http://api.map.baidu.com/place/v2/search"
# 输入搜索关键字和所在城市
query = "酒店"
region = "北京"
# 调用百度地图API搜索POI信息
response = requests.get(url, params={"query": query, "region": region, "output": "json", "ak": "你的AK值"})
# 解析结果
result = json.loads(response.content.decode("utf-8"))
# 遍历结果打印出每个POI的名称和地址
for poi in result["results"]:
print(poi["name"], poi["address"])
```
注意:上述代码中的AK值需要使用自己的百度开发者账号在百度地图API控制台中申请。