0
所以当我删除getNameFrom和硬编码的Geopoint时,我的地图显示了一个针点,但是,当我使用这个函数时,它不会返回任何东西因此我的地图不显示任何内容。将地址转换为纬度和经度,并在地图上显示结果,getNameFrom不提供任何形式
这里是我的ItemizedOverlay类:
public class ItemizedOverlay extends com.google.android.maps.ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public ItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
// TODO Auto-generated constructor stub
}
@Override
public int size() {
return mOverlays.size();
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
}
这里是我的代码,地址字符串转换为纬度和经度,然后使得覆盖,并增加了它。
private void convert_Points() throws IOException {
// initialization
mapOverlays = mapV.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.pin);
itemizedoverlay = new ItemizedOverlay(drawable);
// make OverlayItem by creating a GeoPoint that defines our map coordinates
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> geoResults = geocoder.getFromLocationName("empire state building", 1);
while (geoResults.size()==0) {
geoResults = geocoder.getFromLocationName("empire state building", 1);
}
if (geoResults.size()>0) {
GeoPoint point= new GeoPoint((int) (geoResults.get(0).getLatitude() * 1E6), (int) (geoResults.get(0).getLongitude() * 1E6));
// GeoPoint point = new GeoPoint(19240000,-99120000);
OverlayItem overlayitem = new OverlayItem(point, "", "");
// add this OverlayItem to acollection in the ItemizedOverlay
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
}
//这是我mapoverlay类在上述行NEWP我的活动类
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView,
boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
Point screenPts = new Point(); // transform the Geological point to map pixel
mapView.getProjection().toPixels(p, screenPts);
Bitmap bmp = BitmapFactory.decodeResource( // add the pin
getResources(), R.drawable.pin);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
return true;
}
是的,我意识到,所以我在if条件中将这些行拉回来,这会照顾到零点异常。但现在它不显示任何结果 – user1342796 2012-04-19 02:00:44
我的地图不显示任何东西,我试图使用吐司,也使用Log.d打印在if语句中,它从不出现。 – user1342796 2012-04-19 02:02:33
你在哪里添加点在你的代码中映射我没有看到任何代码相关的和默认情况下android没有这样做 – 2012-04-19 02:02:58