android百度地圖放大
Ⅰ 百度地圖js版Android開發,如何實現兩個手指放大縮小地圖
網路地圖js版,在Androids上面目前只能支持滑動,在IOS上支持滑動和雙指縮放。
這不是網路地圖的問題,而是Android設備上的瀏覽器,對多點觸控的支持不夠完善。
Ⅱ android 百度最新地圖sdk包怎麼去除 放大縮小按鈕
java">//隱藏縮放控制項
intchildCount=mMapView.getChildCount();
Viewzoom=null;
for(inti=0;i<childCount;i++){
Viewchild=mMapView.getChildAt(i);
if(childinstanceofZoomControls){
zoom=child;
break;
}
}
zoom.setVisibility(View.GONE);//隱藏比例尺控制項
intcount=mMapView.getChildCount();
Viewscale=null;
for(inti=0;i<count;i++){
Viewchild=mMapView.getChildAt(i);
if(childinstanceofZoomControls){
scale=child;
break;
}
}
scale.setVisibility(View.GONE);//隱藏指南針
mUiSettings=mBaiMap.getUiSettings();
mUiSettings.setCompassEnabled(true);
//刪除網路地圖logo
mMapView.removeViewAt(1);
Ⅲ android 百度地圖怎麼禁止縮小放大
拇指和食指並攏 點中要放大的區域,然後手指往兩邊擴張,就放大了
Ⅳ android 百度地圖上縮放的按鈕怎麼放
// 隱藏縮放控制項
int childCount = mMapView.getChildCount();
View zoom = null;
for (int i = 0; i < childCount; i++) {
View child = mMapView.getChildAt(i);
if (child instanceof ZoomControls) {
zoom = child;
break;
}
}
zoom.setVisibility(View.GONE);
// 隱藏比例尺控制項
int count = mMapView.getChildCount();
View scale = null;
for (int i = 0; i < count; i++) {
View child = mMapView.getChildAt(i);
if (child instanceof ZoomControls) {
scale = child;
break;
}
}
scale.setVisibility(View.GONE);
// 隱藏指南針
mUiSettings = mBaiMap.getUiSettings();
mUiSettings.setCompassEnabled(true);
// 刪除網路地圖logo
mMapView.removeViewAt(1);
Ⅳ android 百度地圖 初始化完成後如何改變地圖顯示比例
開始聲明一個 MapController的對象 如 MapController mMapController
通過mapview的getcontroller()獲得控制如下:
mMapController=mMapView.getController();
再 用mMapController.setZoom(15); 設定一開始地圖顯示的比例這里是15
寫了這些代碼後 就可以直接通過手指進行放大縮小 像平常操作圖片一樣
Ⅵ 百度地圖android開發能不能讓地圖一開始顯示的就是最小的縮放狀態
這里的縮放效果,實現了點擊按鈕可以對地圖的放大縮小,通過手勢放大與縮小也控制縮放圖標的可用狀態。具體實現如下:<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+/+PHByZSBjbGFzcz0="brush:java;">
zoom_selector_out.xml
layout中的zoom_controls_in_out.xml布局文件:
主配置文件main_activity.xml
相關的xml文件都在這里了,下面是具體實現代碼:
自定義縮放控制項類ZoomControlsView.java
package com.example.map.view;
import com..mapapi.map.BaiMap;
import com..mapapi.map.MapStatus;
import com..mapapi.map.MapStatusUpdateFactory;
import com..mapapi.map.MapView;
import com.example.map.activity.R;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Button;
import android.widget.LinearLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;;
public class ZoomControlsView extends LinearLayout implements OnClickListener{
private Button inBtn;//放大按鈕
private Button outBtn;//縮小按鈕
private BaiMap Map;//網路地圖對象控制器
private MapStatus mapStatus;//網路地圖狀態
private float minZoomLevel;//地圖最小級別
private float maxZoomLevel;//地圖最大級別
public ZoomControlsView(Context context, AttributeSet attrs) {
super(context, attrs, 0);
init();
}
public ZoomControlsView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
/**
* 初始化
*/
private void init(){
//獲取布局視圖
LinearLayout view=(LinearLayout) LayoutInflater.from(getContext()).inflate(R.layout.zoom_controls_in_out, null);
//獲取放大按鈕
inBtn=(Button) view.findViewById(R.id.btn_zoom_in);
//獲取縮小按鈕
outBtn=(Button) view.findViewById(R.id.btn_zoom_out);
//設置點擊事件
inBtn.setOnClickListener(this);
outBtn.setOnClickListener(this);
//添加View
addView(view);
}
@Override
public void onClick(View v) {
this.mapStatus=this.Map.getMapStatus();//獲取地圖狀態
switch (v.getId()) {
case R.id.btn_zoom_in:
//改變地圖狀態
this.Map.setMapStatus(MapStatusUpdateFactory.zoomTo(mapStatus.zoom+1));
controlZoomShow();//改變縮放按鈕
break;
case R.id.btn_zoom_out:
//改變地圖狀態
this.Map.setMapStatus(MapStatusUpdateFactory.zoomTo(mapStatus.zoom-1));
controlZoomShow();//改變縮放按鈕
break;
default:
break;
}
//重新獲取狀態
mapStatus=this.Map.getMapStatus();
}
/**
* 設置Map視圖
* @param mapView
*/
public void setMapView(MapView mapView){
//獲取網路地圖控制器
this.Map=mapView.getMap();
//設置地圖手勢事件
this.Map.setOnMapStatusChangeListener(onMapStatusChangeListener);
//獲取網路地圖最大最小級別
maxZoomLevel=Map.getMaxZoomLevel();
minZoomLevel=Map.getMinZoomLevel();
controlZoomShow();//改變縮放按鈕
}
/**
* 控制縮放圖標顯示
*/
private void controlZoomShow(){
//獲取當前地圖狀態
float zoom=this.Map.getMapStatus().zoom;
//如果當前狀態大於等於地圖的最大狀態,則放大按鈕則失效
if(zoom>=maxZoomLevel){
inBtn.setBackgroundResource(R.drawable.zoomin_press);
inBtn.setEnabled(false);
}else{
inBtn.setBackgroundResource(R.drawable.zoom_selector_in);
inBtn.setEnabled(true);
}
//如果當前狀態小於等於地圖的最小狀態,則縮小按鈕失效
if(zoom<=minZoomLevel){
outBtn.setBackgroundResource(R.drawable.zoomout_press);
outBtn.setEnabled(false);
}else{
outBtn.setBackgroundResource(R.drawable.zoom_selector_out);
outBtn.setEnabled(true);
}
}
/**
* 地圖狀態改變相關介面實現
*/
BaiMap.OnMapStatusChangeListener onMapStatusChangeListener=new BaiMap.OnMapStatusChangeListener() {
/**
* 手勢操作地圖,設置地圖狀態等操作導致地圖狀態開始改變。
* @param status 地圖狀態改變開始時的地圖狀態
*/
@Override
public void onMapStatusChangeStart(MapStatus arg0) {
}
/**
* 地圖狀態變化結束
* @param status 地圖狀態改變結束時的地圖狀態
*/
@Override
public void onMapStatusChangeFinish(MapStatus arg0) {
}
/**
* 地圖狀態變化中
* @param status 當前地圖狀態
*/
@Override
public void onMapStatusChange(MapStatus arg0) {
controlZoomShow();
}
};
}
Ⅶ android 導入百度地圖,使apk體積增大怎麼辦
一、 工具集介紹
安卓壓縮工具集提供了一個極為簡潔的方法,能夠比安卓原有的Zip提供更高壓縮比的存儲應用內的so文件 (後期版本還可以支持壓縮動態載入的jar包,以及游戲資源文件),同時提供了應用內網路更新壓縮文件的方法,使得應用可以將部分so存儲到雲端,減小應用的尺寸。
最高節省50%空間!
在雲測上測試了158款終端,涵蓋2.3到4.4多個系統版本,100%通過
100%通過測試!
8M文件1s內解壓
壓縮原理: 壓縮工具會把所有的so使用LZMA演算法壓縮到assert目錄,應用在第一次啟動的時候,會解壓到應用的私有目錄下
二、 工具集組成
工具集為一個安裝程序,建議安裝在默認路徑下,安裝在program files下在win7可能有讀寫許可權的問題導致一些異常
安裝後,你可以看見4個目錄,此目錄內都含有源碼。
安裝後的四個目錄如下
其中 ApkLibComrepss 為java命令行程序的源碼,在此目錄的bin子目錄中,你可以找到ApkCompress.jar ,使用這個文件可以把一個普通的apk文件轉換為壓縮的apk文件
CompressDemo為一個樣例代碼,你可以參考這個代碼知道如何整合壓縮的SDK。
DecRawso是壓縮的SDK,你的開發工程需要引用這個SDK,並進行一些源碼上的修改,才能整合壓縮的功能
RawsoCreator為windows下的轉換工具, 這個工具一般無需使用, 僅僅在調試和二次開發壓縮SDK的時候使用。
三、 如何整合壓縮SDK
打開CompressDemo,我們以這個工程為例子講解如何整合壓縮SDK
首先需要引入DecRawso工程
2. 然後需要在你的工程內最初始的地方調用DecRawso.NewInstance。在此demo工程內,是在MainActivity.java的OnCreate內調用了此方法, 此方法是創建了一個解壓的唯一實例。注意:此方法是非同步的,所以你可以傳入一個handler接受非同步解碼完成的消息,如果同時傳入參數showProgress=true,SDK內會產生一個進度對話框以阻塞主進程。不使用DecRawso.NewInstance(mContext,null,false);的方式,此方式不接受任何消息,且無進度對話框,解壓會在後台自動完成,並且在應用第一次load so的時候阻塞直到後台解壓完成。所以如果阻塞時間過長,可能會導致應用無響應。
3. 修改load so文件的方法:所有的System.loadlibrary(***)改為 ?System.load(DecRawso.GetInstance().GetPath(「***"));
新版本, 這步可以省略了,sdk會修改system的libaray載入路徑,一般情況下,系統升級不會出問題 (非正規代碼,小概率會隨android升級修改新的代碼),如果方便的話,還是採用System.load(DecRawso.GetInstance().GetPath(「***"))
經過這幾個簡單的步驟,壓縮的SDK已經整合到工程內了。
Ⅷ 安卓手機怎麼設置百度地圖api縮放比例
設置縮放的方法
mBaiMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(15).build()));
//設置縮放級別
或者是
float zoomLevel = Float.parseFloat(t.getText().toString());
MapStatusUpdate u = MapStatusUpdateFactory.zoomTo(zoomLevel);
mBaiMap.animateMapStatus(u);
以上是網路的示常式序BaiMapsApiDemo(在網路LBS開放平台-》android SDK有下載)中,MapControlDemo.java中的一段,用來設置地圖縮放比例的
Ⅸ 最新的百度地圖Android開發包中,如何隱藏右下角的放大縮小控制項
// 隱藏縮放控制項 int childCount = mMapView.getChildCount(); View zoom = null; for (int i = 0; i < childCount; i++) { View child = mMapView.getChildAt(i); if (child instanceof ZoomControls) { zoom = child; break; } } zoom.setVisibility(View.GONE); // 隱藏比例尺控制項 int count = mMapView.getChildCount(); View scale = null; for (int i = 0; i < count; i++) { View child = mMapView.getChildAt(i); if (child instanceof ZoomControls) { scale = child; break; } } scale.setVisibility(View.GONE); // 隱藏指南針 mUiSettings = mBaiMap.getUiSettings(); mUiSettings.setCompassEnabled(true); // 刪除網路地圖logo mMapView.removeViewAt(1);