从存储在远程服务器中的地址创建标记
create Markers from Address stored in a remote server
我必须在我的 android 应用程序中向地图添加一些标记。
我必须从我的数据库(在 altervista 中)获取所有地址并从中创建标记,但我不知道该怎么做。
我是否必须将地址存储在数组、ArrayList 或 Map 中?
有人可以帮助我吗?
对不起我的英语。
首先,您需要创建一个 class(Activity) 来实现 OnMapReadyCallback
.
像这样:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
或者您可以只使用 android 工作室助手来创建它:
在 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"));
希望对你有帮助。
我必须在我的 android 应用程序中向地图添加一些标记。 我必须从我的数据库(在 altervista 中)获取所有地址并从中创建标记,但我不知道该怎么做。
我是否必须将地址存储在数组、ArrayList 或 Map 中?
有人可以帮助我吗?
对不起我的英语。
首先,您需要创建一个 class(Activity) 来实现 OnMapReadyCallback
.
像这样:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
或者您可以只使用 android 工作室助手来创建它:
在 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"));
希望对你有帮助。