黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

百度地圖SDK for Android【Demo Place詳情頁】

系統(tǒng) 2702 0

Place詳情展示頁面可以幫助開發(fā)者便捷的展示Poi詳情信息,此外通過詳情展示頁面您還可以實現(xiàn)電話的撥打等功能。今天將向大家介紹Place詳情頁的具體使用方法。

第一步,創(chuàng)建工程,并放置基礎地圖mapview控件(詳細介紹請參考: 百度地圖SDK for Android【Demo地圖展示】 )。布局文件代碼及主程序中的代碼如下:

        <!-- 放入百度地圖的mapview -->
    <com.baidu.mapapi.map.MapView android:id="@+id/bmapsView"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:clickable="true"/>
  
    		// 初始化管理對象,注意要在setContentView(R.layout.activity_main)之前初始化,否則會報錯
		bMapManager = new BMapManager(getApplication());
		bMapManager.init("你的key", null);
		
		setContentView(R.layout.activity_main);
		
		// 初始化mapview對象,并且設置顯示縮放控件
		mapView = (MapView) findViewById(R.id.bmapsView);
		mapView.setBuiltInZoomControls(true);
		
		// 定義地圖控件,獲取mapview的控制,并把地圖范圍定位北京市
		MapController mapController = mapView.getController();
		GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));
		mapController.setCenter(point);
		mapController.setZoom(12);
		mapController.enableClick(true);  // 注意添加可點擊屬性,用于隨后的place頁面展示入口
  

第二步,在布局文件中添加輸入框及用于搜索的按鈕。代碼如下:

        <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/button1"
        android:text="餐廳"
        android:ems="50" >
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="《點擊搜索》" />
  

第三步,在主程序中對應的建立控件變量,用于控制所添加的控件。代碼如下:

    		editText = (EditText) findViewById(R.id.editText1);
		button = (Button) findViewById(R.id.button1);
		button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String key = editText.getText().toString();
				if(key.equals(""))
				{
					Toast.makeText(MainActivity.this, "檢索關鍵詞不能為空!", Toast.LENGTH_SHORT).show();
				}
				else 
				{
					mkSearch.poiSearchInCity("北京", key);
				}
			}
		});
  

第四步,定義并初始化檢索變量和監(jiān)聽接口。代碼如下:

    	MKSearchListener mkSearchListener = new MKSearchListener() {
		
		@Override
		public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) {
			// TODO Auto-generated method stub
			// 錯誤號可參考MKEvent中的定義
            if (arg2 != 0 || arg0 == null) {
                Toast.makeText(MainActivity.this, "抱歉,未找到結果", Toast.LENGTH_LONG).show();
                return;
            }
            // 將地圖移動到第一個POI中心點
            if (arg0.getCurrentNumPois() > 0) {
                // 將poi結果顯示到地圖上
                PlacePoiOverlay poiOverlay = new PlacePoiOverlay(MainActivity.this, mapView, mkSearch);
                poiOverlay.setData(arg0.getAllPoi());
                mapView.getOverlays().clear();
                mapView.getOverlays().add(poiOverlay);
                mapView.refresh();
                
                for( MKPoiInfo info : arg0.getAllPoi() ){
                	if ( info.pt != null ){
                		mapView.getController().animateTo(info.pt);
                		break;
                	}
                }
            }
            
		}
		
		@Override
		public void onGetPoiDetailSearchResult(int arg0, int arg1) {
			// TODO Auto-generated method stub
			if (arg1 != 0) {
                Toast.makeText(MainActivity.this, "抱歉,未找到結果", Toast.LENGTH_SHORT).show();
            }
            else {
                Toast.makeText(MainActivity.this, "成功,查看詳情頁面", Toast.LENGTH_SHORT).show();
            }
		}
		
		@Override
		public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onGetAddrResult(MKAddrInfo arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
	};
  
    		mkSearch = new MKSearch();
		mkSearch.init(bMapManager, mkSearchListener);
  

第五步,定義并初始化地圖點擊事件的監(jiān)聽,并注冊此監(jiān)聽。代碼如下:

    	MKMapViewListener mapListener = new MKMapViewListener() {
		
		@Override
		public void onMapMoveFinish() {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void onClickMapPoi(MapPoi arg0) {
			// TODO Auto-generated method stub
			String title = "";
			if (arg0 != null){
				title = arg0.strText;
				Toast.makeText(MainActivity.this,title,Toast.LENGTH_SHORT).show();
			}
		}
	};
  
    		mapView.regMapViewListener(bMapManager, mapListener);
  

第六步,定義繼承自PoiOverlay的類,用于顯示Place詳情頁。代碼如下:

    public class PlacePoiOverlay extends PoiOverlay {

	MKSearch mSearch;

    public PlacePoiOverlay(Activity activity, MapView mapView, MKSearch search) {
        super(activity, mapView);
        mSearch = search;
    }

    @Override
    protected boolean onTap(int i) {
        super.onTap(i);
        MKPoiInfo info = getPoi(i);
        if (info.hasCaterDetails) {
            mSearch.poiDetailSearch(info.uid);
        }
        return true;
    }
}
  

第七步,執(zhí)行程序,輸入關鍵詞點擊搜索即可得到如下圖所示的結果展示界面:

百度地圖SDK for Android【Demo Place詳情頁】
第八步,點擊Poi點,即可跳轉至Place詳情展示頁面,如下圖所示:

百度地圖SDK for Android【Demo Place詳情頁】


點擊下載原工程文件。



更多詳細信息請登錄百度地圖API官方網(wǎng)站: http://developer.baidu.com/map/
百度地圖API論壇: http://bbs.lbsyun.baidu.com/

百度地圖SDK for Android【Demo Place詳情頁】


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論