2015-05-19 35 views
-2

我怎么能改变addMarker与sqlite数据库中的标记?我使用资产文件夹的前置数据库。/assetsandroid谷歌地图sqlite

我的概念只是想从sqlite中按标记重名获取标记。而且我有许多人的名字都是LatLong。任何机构都能帮助我吗?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map); 

    MapFragment mapFragment = (MapFragment) getFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 

@Override 
public void onMapReady(GoogleMap map) { 
    LatLng malang = new LatLng(-7.963535, 112.640756); 

    map.setMyLocationEnabled(true); 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(malang, 13)); 

    map.addMarker(new MarkerOptions() 
      .title("SMP Negeri 20") 
      .snippet("Jl. RT Suryo 38") 
      .position(malang)); 
    map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
    map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 
    map.setMapType(GoogleMap.MAP_TYPE_TERRAIN); 
    map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
} 

这是简单的代码从

谷歌地图开发者

回答

0

从数据库中获取数据,并为它分配成阵列喜欢。

LatLon[] latlon;// assign latitude and longitude from database 
String[] names; //assign names from database; 
for(int i=0; i< getDataFromDataBase.length; i++) 
{ 
    latlon[i] = getDataFromDataBase.getlatlon(i); 
    names[i] = getDataFromDataBase.getnames(i) 
} 

在此之后更改

map.addMarker(new MarkerOptions() 
      .title("SMP Negeri 20") 
      .snippet("Jl. RT Suryo 38") 
      .position(malang)); 

这个代码

for (int i = 0 ; i < latlon.length() ; i++) 
{ 
    map.addMarker(new MarkerOptions() 
      .title(names[i]) 
      .position(latlon[i])); 
} 
+0

感谢的对此事发​​表评论,但我不是应该加上类似“按名称顺序”或其他一些代码? @Nitin – Nuhun

+0

是的,你可以添加到你的SQL查询。 – Nitin

+0

为什么'getDataFromDatabase'无法解析? @nitin – Nuhun