0

请帮忙。我尝试了一个代码,它应该在谷歌地图上用标记给出我当前的位置。但它不工作。我已经通过 DDMS 和 TELNET 提供了我的位置,但仍然处于黑暗中。我应该怎么办??代码是:

package com.chupamobile.android.googlemaps;

import android.location.Location;

public class GoogleMapsActivity extends MapActivity{
    private MapView myMap;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myMap = (MapView) findViewById(R.id.mymap);
        initMap();
        initMyLocation();
    }

    /**
     * Initialise the map and adds the zoomcontrols to the LinearLayout.
     */
    private void initMap() {
        //myMap = (MapView) findViewById(R.id.mymap);

        View zoomView = myMap.getZoomControls();
        //MapController mc = myMap.getController();
        //mc.setZoom(16);
        LinearLayout myzoom = (LinearLayout) findViewById(R.id.myzoom);
        myzoom.addView(zoomView);
        myMap.displayZoomControls(true);

    }

    /**
     * Initialises the MyLocationOverlay and adds it to the overlays of the map
     */
    private void initMyLocation() {

        MyLocationOverlay myLocOverlay = new MyLocationOverlay(this, myMap);
        myLocOverlay.enableMyLocation();
        myLocOverlay.enableCompass();
        myMap.getOverlays().add(myLocOverlay);
        Toast.makeText(getApplicationContext(), "I am In"+myLocOverlay, Toast.LENGTH_LONG).show();


    }

    /*public void onLocationChanged(Location location){
        if(location!=null){
            GeoPoint point = new GeoPoint((int)(location.getLatitude()*1E6),(int)(location.getLongitude()*1E6));
            MapController mc = myMap.getController();
            mc.animateTo(point);
            mc.setZoom(16);
        }

    }
*/ 

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}
4

3 回答 3

1

Thenewboston有一个 4 部分的 Youtube教程,几乎涵盖了 api 的每个部分、固定位置等。每个视频大约 5 分钟,很容易理解,我想他在第二个视频中谈到了固定位置。我还发现这个问题的公认答案也可能有助于指导您朝着正确的方向前进。

于 2012-10-05T17:30:50.970 回答
0

你有没有把这个权限<uses-library android:name="com.google.android.maps"/> and <uses-permission android:name="android.permission.INTERNET"/>放在你的清单中?并在您的项目-> 属性-> Android 中选择了 Google API?你也有你的MD5证书吗?完整的官方教程请看这里https://developers.google.com/maps/documentation/android/hello-mapview

于 2012-10-05T18:36:12.207 回答
0

Downad 完整的工作演示:

http://www.filedropper.com/androidopenstreetmapview120516a

如果地图未在模拟器或移动设备中显示,则更改地图 API 密钥。

于 2012-10-06T07:11:49.450 回答