将geo:0,0?q = format转换为GeoPoint

时间:2012-03-23 09:31:57

标签: android google-maps

我收到了“geo:0,0?q = + adress”格式的地址,我需要从中获取GeoPoint。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show3);

        Dataset = (Gps_mapApplicationDataset) getApplicationContext();
        dbHelper = Dataset.getDbHelper();
        Dcalcuation = new DistanceCalculator();

        mapview = (MapView) findViewById(R.id.show_mapview);
        mapview.setSatellite(false);
        mapview.setBuiltInZoomControls(true);
        mapOverlays = mapview.getOverlays();

        locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        if (locMan.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 0,
                    this);
            curLocation = locMan
                    .getLastKnownLocation(LocationManager.GPS_PROVIDER);
            Log.v("Gps", "on");
        } else if (locMan.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
            locMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
                    100, 0, this);
            curLocation = locMan
                    .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            Log.v("network", "on");

        } else {
            Log.v("setting", "on");
            final Intent poke = new Intent();
            poke.setClassName("com.android.settings",
                    "com.android.settings.widget.SettingsAppWidgetProvider");
            poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
            poke.setData(Uri.parse("3"));
            sendBroadcast(poke);

            locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 0,
                    this);
            curLocation = locMan
                    .getLastKnownLocation(LocationManager.GPS_PROVIDER);
        }

        if (curLocation != null) {
            clat = curLocation.getLatitude();
            clng = curLocation.getLongitude();
            Log.v("TAG  ", clat + "  " + clng);
            GeoPoint srcgeopoint = new GeoPoint((int) (clat * 1E6),
                    (int) (clng * 1E6));
            Drawable marker = getApplicationContext().getResources()
                    .getDrawable(R.drawable.pin1);
            mapview.getController().animateTo(srcgeopoint);
            MapAddressOverlay itemizedOverlay = new MapAddressOverlay(marker);
            itemizedOverlay.addOverlay(this, clat, clng);
            mapview.getOverlays().add(itemizedOverlay);
            mapview.invalidate();

        } else {
            Toast.makeText(new_map.this, "No Location Find", Toast.LENGTH_SHORT);
        }