首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在Android模拟器2.3上加载MapActivity中的任何内容

无法在Android模拟器2.3上加载MapActivity中的任何内容
EN

Stack Overflow用户
提问于 2012-03-11 19:24:41
回答 2查看 464关注 0票数 0

我正在尝试在我的活动中加载Google mmap。在经历了一系列错误之后,我的日志猫终于向我展示了这个错误:

代码语言:javascript
复制
03-11 23:42:08.390: E/MapActivity(712): Couldn't get connection factory client

map活动不加载任何内容。我试着寻找解决方案,然后:

<uses-permission android:name="android.permission.INTERNET"/>

  • I还告诉应用程序,我将使用地图库<uses-library android:name="com.google.android.maps"/>

  • My目标机和虚拟机,两者都具有API级别10和目标Google api

  • ,我的api键是正确和工作的。

  • i通过宽带连接直接连接到互联网。

f 216

我的猜测是我无法上网。我试图在模拟器中打开浏览器,但未能打开任何URL。所以我想我无法在我的模拟器上访问互联网。在搜索了一段时间关于在模拟器上连接到internet并引用this question之后,我尝试运行以下命令:C:\program files\android\android-sdk-windows\tools\emulator -avd -dns-server 8.8.8.8

但最后我犯了一个错误:

代码语言:javascript
复制
PANIC: Could not open: C:\Documents and Settings\dwadasi\.android/avd/-dns-serv
r.ini

我不明白问题出在哪里。我试着在我的Android手机2.3.6上安装APK文件,它成功了。但是我真的需要它在我的仿真器上工作,因为我仍然需要做很多的开发。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-14 11:53:12

试试这个密码..。我用这个,现在开始工作了。

代码语言:javascript
复制
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;
        }
    }        
}
票数 0
EN

Stack Overflow用户

发布于 2012-03-11 22:20:43

我经常在发展过程中发生这种事。通常,我只需关闭模拟器并创建一个新的仿真器,事情就会自行修复。

在使用浏览器测试互联网连接时,您做了正确的事情。如果您没有连接,那么映射就无法工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9658129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档