我正在创建一个处理兴趣点的Android应用程序!我还创建了一个本地数据库,其中有一个表格,其中包含有关Poi(名称,类别,类型,经度,纬度)的所有信息。 我在数据库中添加了几个Pois,现在我想在谷歌地图上添加它们作为标记。
问题是我不知道该怎么做。我在互联网上搜索了几个教程,但没有任何作用,因为我不想添加经度,纬度不变的标记,但我想从数据库中取出它们。
我的db方法也使用rawQuery,因为我希望返回的Pois的经度和纬度在两个值之间,所以我无法找到如何从中获取列以便以后使用它在创建Poi标记!
for(PoiModel poi : PoiHelper.mpoi){
markerPoi = new MarkerOptions();
LatLng tag = new LatLng(poi.getY(),poi.getX());
markerPoi.position(tag)
.title(poi.getName())
.snippet(poi.getCategory());
map.addMarker(markerPoi);
}
答案 0 :(得分:1)
由于您要返回一个数组,我认为您应该在地图活动中执行以下操作:
private GoogleMap mMap;
private MapView mMapView;
mMapView = (MapView)findViewById(R.id.map);
mMap = mMapView.getMap();
for( PoiModel mypoi : poi)
{
markerPOI = new MarkerOptions();
markerPOI .position(new LatLng(mypoi .getLatitude(),mypoi .getLongitude()))
.title(mypoi .getName())
.snippet(mypoi .getCategory())
mMap.addMarker(markerPOI );
}
答案 1 :(得分:0)
你必须使用LatLng class并为它提供一个lat和lng,以及你从数据库中获得的双打。既然你已经拥有它们,就这样做:
LatLng location = new LatLng(latFromDataBase,lngFromDatabase);
Marker marker = map.addMarker(new MarkerOptions().position(location).title("some title"));
标题部分是可选的。如果您想更改标记,只需使用新的lat和lng更新其位置