当前位置:编程学习 > wap >>

google map 上添加的图标阴影错位问题,头疼了好几天了

google map 上添加的图标阴影错位问题,头疼了好几天了 
不知道怎么传图片上来啊 
--------------------编程问答-------------------- 这个图标添加到别地也是错位阴影么 --------------------编程问答-------------------- 只有第一个标自己位置的图标没有错位,其他随便什么地方都错位的,原因还是找不到 --------------------编程问答-------------------- overlay的坐标有问题吧! --------------------编程问答-------------------- 贴一下你的overlay的代码,看不出来。 --------------------编程问答--------------------
class ItemOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mContext;
private int flage = 100;

public ItemOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}

public ItemOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}

public ItemOverlay(Drawable defaultMarker, Context context, int flage) {
super(boundCenterBottom(defaultMarker));
mContext = context;
this.flage = flage;
}

public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}

public OverlayItem createItem(int i) {
return mOverlays.get(i);
}

public int size() {
return mOverlays.size();
}

protected boolean onTap(int index) {
if (flage == 1) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(item.getTitle());
builder.setMessage(item.getSnippet());
Dialog dialog = builder.create();
dialog.show();
} else if (flage == 100) {
Intent intent = new Intent();
intent.putExtra("id", addressItems.get(index).getId());
// intent.putExtra("venue_id", addressItems.get(index).getId());
intent.putExtra("venue_id", 608);
intent.putExtra("infoSize", infos.size());
intent.setClass(mContext, DetailActivity.class);
startActivity(intent);
}
return true;

}

}

这个吧...... --------------------编程问答--------------------
private void readymap(List<Addresser> addressers) {
overlays = new ArrayList<ItemOverlay>();
ItemOverlay itemOverlay;
for (int i = 0; i < addressers.size(); i++) {
imageview name = new imageview();
addresser = addressers.get(i);
String str = addresser.getErrormsg();
if (str == "") {
int id = getImageID(addresser.getCateid());
name.setDrawable(id);
readybutton(i, name);
itemOverlay = new ItemOverlay(name.getDrawable(), this);
for (int j = 0; j < addresser.getCatev().size(); j++) {
addressItems.add(addresser.getCatev().get(j));
int a = (int) (addresser.getCatev().get(j).getPonitY() * 1E6);
int b = (int) (addresser.getCatev().get(j).getPonitX() * 1E6);
GeoPoint point = new GeoPoint(a, b);
OverlayItem overlayitem = new OverlayItem(point, "aaaa",
"bbbb");
itemOverlay.addOverlay(overlayitem);
}
overlays.add(itemOverlay);
System.out.println("the item in Overlay is "
+ itemOverlay.size());
} else {
Toast.makeText(this, "您周边没有正在进行的团购", Toast.LENGTH_SHORT).show();
}
}
mapOverlays.addAll(overlays);
System.out.println("the item in map is " + mapOverlays.size());
}


这个是准备图标的方法 --------------------编程问答-------------------- 你的添加阴影的代码呢? --------------------编程问答-------------------- 阴影不是自带的吗,我没有用drow方法画地图啊, --------------------编程问答-------------------- 我认为是你初始化ItemOverlay 没有加 populate();方法的原因,你加一下试试!
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,