Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过edittext在android地图中搜索位置_Android_Google Maps_Ontouchlistener_Itemizedoverlay - Fatal编程技术网

通过edittext在android地图中搜索位置

通过edittext在android地图中搜索位置,android,google-maps,ontouchlistener,itemizedoverlay,Android,Google Maps,Ontouchlistener,Itemizedoverlay,我正在用android开发地图服务,我想在我的地图中搜索一个特定的地方,比如“柏林”。为此,我在地图中放置了一个EDITTEXT,每当我输入名称时,我都希望在地图中用标记指向该位置 这是我的HelloItemizedOverlay课程: public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem> { private ArrayList<OverlayItem> mOverlays =

我正在用android开发地图服务,我想在我的地图中搜索一个特定的地方,比如“柏林”。为此,我在地图中放置了一个EDITTEXT,每当我输入名称时,我都希望在地图中用标记指向该位置

这是我的HelloItemizedOverlay课程:

 public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem>
 {
 private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
 private Context mContext;

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

public void addOverlay(OverlayItem overlay)
{
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i)
{
return mOverlays.get(i);
}
@Override
public int size()
{
return mOverlays.size();
}
@Override
protected boolean onTap(int index)
{
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
 }
表示新视图的getresource方法未定义。本体论的倾听者;另一个错误显示在下一行:

    HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this);
构造函数HelloItemizeOverlay未定义

有人知道一个建议吗??如果是这样,请帮我个忙。提前谢谢

而不是

 this.getResources().getDrawable(R.drawable.icon);
使用

其中ClassName是您的活动名称

对于构造函数,也可以这样做,而不是

  HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this);
使用


从中删除此

this.getResources().getDrawable(R.drawable.icon)


看看它是否对你有帮助。

谢谢你的快速回复,亲爱的朋友,但是,它似乎不起作用。错误再次显示为:“构造函数HelloItemizeOverlay未定义”。HelloItemizeOverlay的后代码。。。编辑您的问题并发布其代码这样做之后,我在行中遇到另一个错误:List addresses=geocoder.getFromLocationName(mapSearchBox.getText().toString(),5);这表示一个空指针异常。为此,我尝试了一个try/catch块,它会导致应用程序的强制关闭。这也减少了第一行的错误。第二行仍然保持不变。执行此操作后,我在该行中遇到另一个错误:List addresses=geocoder.getFromLocationName(mapSearchBox.getText().toString(),5);这表示一个空指针异常。为此,我尝试了一个try/catch块,结果强制关闭了应用程序。我已经遇到了同样的问题。只是因为版本2.3。主要原因是2.3对地理编码器有一个bug。最近我发现。让我们看看你的代码是旧的,现在谷歌地图API版本2上个月发布。现在不再需要覆盖类了。请
 this.getResources().getDrawable(R.drawable.icon);
 ClassName.this.getResources().getDrawable(R.drawable.icon); 
  HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,this);
  HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable,ClassName.this);