无法在Android emulator 2.3上加载MapActivity中的任何内容
我正在尝试在我的活动中加载Google MMAP。在经历了一系列错误之后,我的日志猫最终向我显示了以下错误:无法在Android emulator 2.3上加载MapActivity中的任何内容,android,android-emulator,android-maps,Android,Android Emulator,Android Maps,我正在尝试在我的活动中加载Google MMAP。在经历了一系列错误之后,我的日志猫最终向我显示了以下错误: 03-11 23:42:08.390: E/MapActivity(712): Couldn't get connection factory client 映射活动不加载任何内容。我试图寻找解决方案,并且: 我的活动扩展了MapActivity 我已经给了互联网任务 我还告诉应用程序我将使用地图库 我的目标机器和虚拟机都有10级API,都是以Google API为目标的 我的api
03-11 23:42:08.390: E/MapActivity(712): Couldn't get connection factory client
映射活动不加载任何内容。我试图寻找解决方案,并且:
- 我的活动扩展了MapActivity
- 我已经给了互联网任务
- 我还告诉应用程序我将使用地图库
- 我的目标机器和虚拟机都有10级API,都是以Google API为目标的
- 我的api密钥正确且有效
- 我使用宽带连接直接连接到互联网
C:\ProgramFiles\android\android sdk windows\tools\emulator-avd-dns server 8.8.8
但我最后犯了一个错误:
PANIC: Could not open: C:\Documents and Settings\dwadasi\.android/avd/-dns-serv
r.ini
我不明白问题出在哪里。我试着在我的Android手机[2.3.6]上安装APK文件,结果成功了。但是我真的需要它在我的模拟器上工作,因为我还有很多开发工作要做。我在开发过程中经常遇到这种情况。通常我只是关闭模拟器并创建一个新的模拟器,然后事情就会自行解决
您使用浏览器测试internet连接的做法是正确的。如果没有连接,映射将无法工作。请尝试此代码。。。。我用这个,现在正在工作
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);
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), R.drawable.pushpin2);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView)
{
add="";
//---when user lifts his finger---
if (event.getAction() == 1) {
GeoPoint p = mapView.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Geocoder geoCoder = new Geocoder(
getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(
p.getLatitudeE6() / 1E6,
p.getLongitudeE6() / 1E6, 1);
lattitude=p.getLatitudeE6() / 1E6;
longitude=p.getLongitudeE6() / 1E6;
if (addresses.size() > 0)
{
for (int i=0; i<addresses.get(0).getMaxAddressLineIndex();
i++)
add += addresses.get(0).getAddressLine(i) + "\n";
}
Toast.makeText(getBaseContext(), add, Toast.LENGTH_SHORT).show();
}
catch (IOException e) {
e.printStackTrace();
}
return true;
}
else {
return false;
}
}
}
class MapOverlay扩展了com.google.android.maps.Overlay
{
@凌驾
公共布尔绘制(画布、地图视图、地图视图、,
布尔阴影(长时)
{
super.draw(画布、地图视图、阴影);
//---将地质点转换为屏幕像素---
点屏幕PTS=新点();
getProjection().toPixels(p,screenPts);
//---添加标记---
位图bmp=BitmapFactory.decodeResource(
getResources(),R.drawable.pushpin2);
canvas.drawBitmap(bmp,screenPts.x,screenPts.y-50,null);
返回true;
}
@凌驾
公共布尔onTouchEvent(MotionEvent事件,MapView MapView)
{
加上“”;
//---当用户抬起手指时---
如果(event.getAction()==1){
地理点p=mapView.getProjection().fromPixels(
(int)event.getX(),
(int)event.getY();
地理编码器地理编码器=新地理编码器(
getBaseContext(),Locale.getDefault();
试一试{
列表地址=geoCoder.getFromLocation(
p、 getLatitudeE6()/1E6,
p、 getLongitudeE6()/1E6,1);
lattitude=p.GetLattitudee6()/1E6;
经度=p.getLongitudeE6()/1E6;
如果(地址.size()>0)
{
对于(int i=0;i您连接到的网络上的任何类型的防火墙?端口阻塞?我使用的一个wi-fi网络需要登录并阻塞某些端口。无法在该网络上使用Android emulator进行任何操作。我个人禁用了防火墙…仍然不好…相同错误:(我已经摆弄了我的网络设置,现在我可以在模拟器上连接到互联网,但仍然无法加载MapActivity中的内容。)