我必须在我的Android应用程序中向地图添加一些标记。 我必须从我的数据库中获取所有地址(即在altervista中)并从这些地址创建标记,但我不知道该怎么做。
我是否必须将地址存储在Array,ArrayList或Map中?
有人可以帮助我吗?
抱歉我的英文。
答案 0 :(得分:0)
首先,您需要创建一个实现OnMapReadyCallback
的类(Activity)。
这样的事情:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
或者您可以使用android studio助手创建它:
在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"));
希望它对你有所帮助。