我有一個應用程序,當前點擊一個位置後,一個標記彈出顯示其經度和緯度。如何在SQLite中保存標記位置並在該位置創建另一個活動?
我希望能夠點擊該標誌物和保存在我的SQLite數據庫的位置數據。位置保存後,我希望突出顯示Google地圖中的位置。我怎麼做?
我有一個應用程序,當前點擊一個位置後,一個標記彈出顯示其經度和緯度。如何在SQLite中保存標記位置並在該位置創建另一個活動?
我希望能夠點擊該標誌物和保存在我的SQLite數據庫的位置數據。位置保存後,我希望突出顯示Google地圖中的位置。我怎麼做?
請嘗試執行下面的代碼,其中MarkerInfoWindowAdapter將在點擊標記時顯示彈出窗口。
protected void onCreate(Bundle savedInstanceState)
{
setUpMap();
displayLocationOnMap();
}
private void setUpMap()
{
if (mMap == null)
{
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapview)).getMap();
if (mMap != null)
{
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener()
{
@Override
public boolean onMarkerClick(com.google.android.gms.maps.model.Marker marker)
{
marker.showInfoWindow();
return true;
}
});
}
else
Toast.makeText(getApplicationContext(), "Unable to create Maps", Toast.LENGTH_SHORT).show();
}
}
private void displayLocationOnMap()
{
Marker currentMarker = null;
currentMarker = mMap.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(Location) .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_view)));
currentMarker.isInfoWindowShown();
currentMarker.setVisible(true);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude(),longitude()), 8.0f));
mMap.setTrafficEnabled(true);
mMap.setBuildingsEnabled(true);
mMap.setInfoWindowAdapter(new MarkerInfoWindowAdapter());
}
public class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter
{
public MarkerInfoWindowAdapter()
{
}
@Override
public View getInfoWindow(Marker marker)
{
return null;
}
@Override
public View getInfoContents(Marker marker)
{
View v = getLayoutInflater().inflate(R.layout.custom_map_layout, null);
MyMarker myMarker = mMarkersHashMap.get(marker);
TextView marker_latitude = (TextView) v.findViewById(R.id.marker_latitude);
TextView marker_longitude = (TextView) v.findViewById(R.id.marker_longitude);
marker_latitude.setText("Latitude :" + latitude);
marker_longitude.setText("Longitude:" +longitude);
return v;
}
}
非常感謝你!@Ragini – geek645
試試下面的代碼:
@Override
public void setOnMarkerClickListner(Marker marker) {
// TODO Auto-generated method stub
System.out.println(" "
+ map.getMyLocation().getLongitude()+map.getMyLocation().getLongitude());
//Your code to add to database..
}
在上面的代碼
map.getMyLocation().getLongitude()
爲您提供經度和
map.getMyLocation().getLongitude()
給你latitude.Then你會寫你的代碼放它在你的SQLite中。 希望幫助
使用setOnMarkerClickListner點擊標記和內部onMarkerclick方法編寫你的邏輯來保存數據庫中的經度和緯度,並使用map.add(new MarkerOptions)編寫幫助者方法在google地圖上添加標記來自分區的數據
謝謝你,我會盡力 – geek645
您可以將它們作爲REAL值保存在帶有標識符的單個表中,然後從您想要的表中引用它們。
你是什麼意思突出顯示? –
@ZahidRasheed @ZahidRasheed我的意思是說,在保存GPS座標後(即特定地點的經緯度,我希望地圖能夠指出該位置,並且每次地點被保存,地圖將顯示這些地方,或者突出顯示爲不同的地方你可以告訴我怎麼做,謝謝 – geek645