在GoogleMap應用程序中,我目前使用標記來標記船位置。我做了一個記錄許多屬性的類,例如船名,緯度,經度,MMSI代碼等。當用戶點擊地圖上的許多標記之一時,打開一個生成的可點擊信息窗口。當該用戶單擊信息窗口時,將打開另一個活動,顯示有關該標記的詳細信息。將對象或類鏈接到GoogleMap標記
那麼至少最後一句是我想要的。我可以提取經度和緯度位置,但不是其他的。問題是,雖然我有一個Ship
類,包含我需要的所有信息,但它沒有以任何參考方式連接到標記,我也不知道如何做這樣的事情!
我最好的想法是使Ship
擴展標記,但這是根據Eclipse IDE的final
類,因此無法擴展。
這是我Ship
類:
public class Ship {
/** Ship has the following properties
* */
private String shipname = "";
private String MMSI = "XXXX";
private double[] loc = new double[2];
public Ship(String _shipname, String _MMSI, double[] _loc) {
shipname = _shipname;
MMSI = _MMSI;
loc[0] = _loc[0]; // Latitude
loc[1] = _loc[1]; // Longitude
}
public String getName() {
return shipname;
}
public String getMMSI() {
return MMSI;
}
public double getLat() {
return loc[0];
}
public double getLongi() {
return loc[1];
}
}
一會兒,GoogleMap
標記通過動態插入:
public void setupRegion(GoogleMap map, ArrayList<Ship> ships) throws IOException {
for(Ship ship : ships) {
map.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_red))
.position(new LatLng(ship.getLat(), ship.getLongi()))
.title(ship.getName())
.snippet("Simulate"));
}
}
好主意。我將使用唯一的MMSI代碼。 – jhc