首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

goolge 舆图弹出气泡

2012-06-27 
goolge 地图弹出气泡?新建图层package com.android.yibai.antkingimport java.util.Listimport android.

goolge 地图弹出气泡


goolge 舆图弹出气泡
?新建图层

package com.android.yibai.antking;import java.util.List;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import com.google.android.maps.GeoPoint;import com.google.android.maps.ItemizedOverlay;import com.google.android.maps.MapActivity;import com.google.android.maps.MapView;import com.google.android.maps.Overlay;import com.google.android.maps.OverlayItem;public class MapMain extends MapActivity{/** * 地图 */protected MapView mapView;/** * 弹出的气泡View */private View popView;private int[] image={R.drawable.icon}; public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                //初始化气泡,并设置为不可见        popView = View.inflate(this, R.layout.popview, null);        setContentView(R.layout.main);                //获得map        mapView = (MapView)this.findViewById(R.id.mapview);        mapView.addView(popView,new MapView.LayoutParams(        MapView.LayoutParams.WRAP_CONTENT,        MapView.LayoutParams.WRAP_CONTENT,null        ,MapView.LayoutParams.BOTTOM_CENTER));       //这里没有给GeoPoint ,在onFoucusChangeListener中设置        popView.setVisibility(View.GONE);        /**         * 创建图标资料(用于显示在overlayItem所表示表记的地位         */        Drawable drawable =this.getResources().getDrawable(R.drawable.icon);                //为mark定以地位和鸿沟        drawable.setBounds(0,0,drawable.getIntrinsicWidth(),        drawable.getIntrinsicHeight());        CustomItemizedOverlay overlay = new CustomItemizedOverlay(this,drawable);        //设置显示/隐藏气泡的位置        overlay.setOnFocusChangeListener(onFocusChangeListener);                   /**         * 创建并添加一个标志         */       GeoPoint point = new GeoPoint(35422006,119524095);       //创建标识       Bitmap bitmap = BitmapFactory.decodeResource(MapMain.this.getResources(), R.drawable.psu);       MyOverlayItem overlayItem = new MyOverlayItem(point       ,"银河公园","这是一个充满神奇的公园,一步一景,我去的时候有一种柳暗花明又一村的感觉",bitmap);       overlay.addOverlay(overlayItem);       /**        * 创建第二个标识        */       Bitmap bitmap1 = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon);        GeoPoint point1 = new GeoPoint((int)(22.53108*1E6),(int)(113.99151*1E6));       MyOverlayItem overlayItem1 = new MyOverlayItem(point1,"秀丽中华","中国最好的旅游胜地之一",bitmap1);       overlay.addOverlay(overlayItem1);              //向地图里添加自定义的ItemizedOverlay       List<Overlay> mapOverlays =mapView.getOverlays();       mapOverlays.add(overlay);       //设置地图为卫星地图       mapView.setSatellite(true);       //设置地图可以缩放       mapView.setBuiltInZoomControls(true);       /**        * 取得地图管理对象,用于把握地图        *         */       //设置地图的中间       mapView.getController().setCenter(point);       //设置地图默认的缩放级别       mapView.getController().setZoom(13);        }@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}private final ItemizedOverlay.OnFocusChangeListener onFocusChangeListener = new ItemizedOverlay.OnFocusChangeListener() {@Overridepublic void onFocusChanged(ItemizedOverlay overlay, OverlayItem newFocus) {// TODO Auto-generated method stub//创建气泡窗口if(popView!=null){popView.setVisibility(View.GONE);}if(newFocus !=null){MapView.LayoutParams geoLp =(MapView.LayoutParams) popView.getLayoutParams();geoLp.point = newFocus.getPoint();//这行用于popView的定位TextView title = (TextView)popView.findViewById(R.id.map_bubbleTitle);title.setText(newFocus.getTitle());TextView desc = (TextView)popView.findViewById(R.id.map_bubbleText);    ImageView image = (ImageView)popView.findViewById(R.id.map_bubbleImage);    image.setImageBitmap(((MyOverlayItem) newFocus).getBitmap());if(newFocus.getSnippet()==null||newFocus.getSnippet().length()==0){desc.setVisibility(View.GONE);}else{desc.setVisibility(View.VISIBLE);desc.setText(newFocus.getSnippet());}mapView.updateViewLayout(popView,geoLp);popView.setVisibility(View.VISIBLE);}}};}
?

热点排行