如何在android的地图上显示数据库中存储的位置?
Posted
技术标签:
【中文标题】如何在android的地图上显示数据库中存储的位置?【英文标题】:How to display stored locations from a database on a map in android? 【发布时间】:2012-12-17 11:23:32 【问题描述】:我想构建一个应用程序,该应用程序将在距用户一定半径范围内的地图上显示存储在数据库中的餐厅(名称、纬度、经度等...)。然后,用户可以单击特定餐厅以查看更多信息或添加关于该餐厅的评论。我知道如何使用 JSON 和 php 从数据库中获取餐厅名称并将它们显示在列表视图中。但我希望能够在地图上显示它们。有人可以为我指出如何完成这项工作的正确方向。
【问题讨论】:
【参考方案1】:假设您有一个可以从数据库中的数据构建的 Restaurant 对象列表:
private void addMarkers(List<Restaurant> restaurants)
for(Restaurant res : restaurants)
MarkerOptions options = new MarkerOptions();
options.position(new LatLng(res.getLatitude(), res.getLongitude()));
options.title(res.getName());
options.snippet(tagsnap.getAddress());
getMap().addMarker(options);
这样称呼它:
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
...
...
List<Restaurant> restaurants = databaseHelper.fetchAllRecordsAsRestaurantList();
addMarkers(restaurants);
【讨论】:
【参考方案2】:您需要获取要显示的餐厅的 GPS 坐标。您可以显示名称,但需要将坐标传递给 MapView
,以便它可以将它们显示为地图上的叠加项目。
这些教程将帮助您:
https://developers.google.com/maps/documentation/android/
http://www.vogella.com/articles/AndroidGoogleMaps/article.html
【讨论】:
谢谢!我会试试这些指南。以上是关于如何在android的地图上显示数据库中存储的位置?的主要内容,如果未能解决你的问题,请参考以下文章
geofire android 存储和检索位置并将其显示在地图上
如何在 Android 应用程序的地图中显示用户的实时位置?
如何在 android imageview 上显示静态谷歌地图?