⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huts.java

📁 Android从入门到精通
💻 JAVA
字号:
package com.androidbook.location;

import java.util.List;

import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

public class Huts extends MapActivity {

    
    
    @Override
    protected void onCreate(Bundle data) {
        super.onCreate(data);
        setContentView(R.layout.huts);

        Drawable marker = getResources().getDrawable(R.drawable.paw);
        
        // work around to issue
        // see http://groups.google.com/group/android-developers/msg/a7998c2c08bddc2a
        marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());
        
        HutsItemizedOverlay huts = new HutsItemizedOverlay(marker); 
        
        MapView map = (MapView)findViewById(R.id.map);
        map.setSatellite(true);
       
        List<Overlay> overlays = map.getOverlays();
        overlays.add(huts);

        map.setBuiltInZoomControls(true);
        
        final MapController mapControl = map.getController();
      
        mapControl.setCenter(huts.getCenter());
        mapControl.zoomToSpan(huts.getLatSpanE6(), huts.getLonSpanE6());
     
        
    }

    @Override
    protected boolean isRouteDisplayed() {
        // we do not show routes
        return false;
    }
    
    private class HutsItemizedOverlay extends ItemizedOverlay<OverlayItem> {

        public HutsItemizedOverlay(Drawable defaultMarker) {
            super(defaultMarker);
            
            // change the direction of the shadow so the bottom of the marker is the part "touching"
            boundCenterBottom(defaultMarker);

            //static data, so we call this right away
            populate();
        }
        

        @Override
        public GeoPoint getCenter() {
            Integer averageLat = 0;
            Integer averageLon = 0;
            for (GeoPoint point : hutPoints) {
                averageLat += point.getLatitudeE6();
                averageLon += point.getLongitudeE6();
            }
            averageLat /= hutPoints.length;
            averageLon /= hutPoints.length;
            return new GeoPoint(averageLat, averageLon);
        }


        @Override
        public void draw(Canvas canvas, MapView mapView, boolean shadow) {
            super.draw(canvas, mapView, false);
        }

        
        public GeoPoint hutPoints[] = new GeoPoint[] { 
            // Lakes of the Clouds
            new GeoPoint(44258793, -71318940),
            // Zealand Falls
            new GeoPoint(44195798, -71494402),
            // Greanleaf
            new GeoPoint(44160372, -71660385),
            // Galehead
            new GeoPoint(44187866, -71568734),
            // Carter Notch
            new GeoPoint(44259224, -71195633),
            // Mizpah Spring
            new GeoPoint(44219362, -71369473),
            // Lonesome
            new GeoPoint(44138452, -71703064),
            // Madison Spring
            new GeoPoint(44327751, -71283283), 
        };

        @Override
        protected OverlayItem createItem(int i) {
            // the "title" and "snippet" fields aren't used anywhere just yet... so
            // we've ignored them here
            
            OverlayItem item = new OverlayItem(hutPoints[i], null, null);
            
            return item;
        }

        @Override
        public int size() {
            return hutPoints.length;
        }
        
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -