我写了以下编码:
locations.add(new GeoPoint((int)(3.1667652777 * 1E6),(int)(101.70002277 * 1E6)));
locations.add(new GeoPoint((int)(3.16676 * 1E6),(int)(101.6836 * 1E6)));
注意:我正在使用ArrayList
进行上述操作。
如何为上述位置添加叠加项?我看到android开发网站提到:
GeoPoint point2 = new GeoPoint(35410000, 139460000);
OverlayItem overlayitem2 = new OverlayItem(point2, "Sekai, konichiwa!", "I'm in Japan!");
是否需要做类似网站共享的事情,或者我可以坚持使用我的编码?
答案 0 :(得分:0)
<强> ItemizedOverlayClass 强>
public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> myOverlays ;
public MyItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
myOverlays = new ArrayList<OverlayItem>();
populate();
}
public void addOverlay(OverlayItem overlay){
myOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return myOverlays.get(i);
}
// Removes overlay item i
public void removeItem(int i){
myOverlays.remove(i);
populate();
}
// Returns present number of items in list
@Override
public int size() {
return myOverlays.size();
}
public void addOverlayItem(OverlayItem overlayItem) {
myOverlays.add(overlayItem);
populate();
}
@Override
protected boolean onTap(int index) {
// TODO Auto-generated method stub
return null;
}
}
<强> ActivityClass 强>
private MyItemizedOverlay nearPicOverlay;
nearPicOverlay = new MyItemizedOverlay(atmPic);
for (int i = 0; i < length; i++) {
nearatms[i] = new OverlayItem(new GeoPoint((int)(latitude) * 1E6),(int)((longitude) * 1E6),"", null);
nearPicOverlay.addOverlay(nearatms[i]);
}
请检查括号,因为我没有eclipse,只是直接输入。希望这会有所帮助......