如何在android中的地图上显示数据库中存储的位置?

时间:2013-01-03 04:39:22

标签: android phpmyadmin android-maps

我想构建一个应用程序,它将显示存储在数据库(name,lat,long等等)中的餐馆,这些餐馆位于距离用户一定范围内的地图上。然后,用户可以点击特定餐馆以查看更多信息或添加关于该餐馆的评论。我知道如何使用JSON和PHP从数据库中获取餐馆的名称,并在列表视图中显示它们。但我希望能够在地图上显示它们。有人可以指出我如何完成这项工作的正确方向。

2 个答案:

答案 0 :(得分:0)

假设您有一个可以根据数据库中的数据构建的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);
}

答案 1 :(得分:0)

您需要获取要显示的餐馆的GPS坐标。您可以显示名称,但需要将坐标传递给MapView,以便它可以将它们显示为地图上的重叠项目。

这些教程将为您提供帮助:

https://developers.google.com/maps/documentation/android/

http://www.vogella.com/articles/AndroidGoogleMaps/article.html