从存储在远程服务器中的地址创建标记

时间:2018-04-16 15:02:35

标签: android google-maps google-maps-markers

我必须在我的Android应用程序中向地图添加一些标记。 我必须从我的数据库中获取所有地址(即在altervista中)并从这些地址创建标记,但我不知道该怎么做。

我是否必须将地址存储在Array,ArrayList或Map中?

有人可以帮助我吗?

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

首先,您需要创建一个实现OnMapReadyCallback的类(Activity)。

这样的事情:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback

或者您可以使用android studio助手创建它:

enter image description here

在Activity中,您需要从数据库中检索地址并保存在数组中。稍后您需要转换地址无坐标使用例如GeoCoder库:(使用bucle转换所有并将其保存在二维数组中)

            try {
                    String locationName = String.valueOf(et.getText());
                    List<Address> listOfAddress = gc.getFromLocationName(locationName, 1);
                    Address address = listOfAddress.get(0);
                    double latitude = address.getLatitude();
                    double longitude = address.getLongitude();

                    coords= new LatLng(latitude, longitude);

                } catch (IOException e) {
                    e.printStackTrace();
                }

后者你只需要在地图中添加标记。

    mMap = googleMap;
    mMap.addMarker(new MarkerOptions().position(coords).title("Marker name"));

希望它对你有所帮助。