android百度地圖縮放
① 安卓手機怎麼設置百度地圖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 sdk怎麼實現根據地圖點的信息進行不同程度的縮放
參差荇菜,左右流之.窈窕淑女,寤寐求之.
③ 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開發能不能讓地圖一開始顯示的就是最小的縮放狀態
這里的縮放效果,實現了點擊按鈕可以對地圖的放大縮小,通過手勢放大與縮小也控制縮放圖標的可用狀態。具體實現如下:<喎�"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開發包中,如何隱藏右下角的放大縮小控制項
// 隱藏縮放控制項
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 百度地圖怎麼禁止縮小放大
拇指和食指並攏 點中要放大的區域,然後手指往兩邊擴張,就放大了
⑦ 百度地圖js版Android開發,如何實現兩個手指放大縮小地圖
網路地圖js版,在Androids上面目前只能支持滑動,在IOS上支持滑動和雙指縮放。
這不是網路地圖的問題,而是Android設備上的瀏覽器,對多點觸控的支持不夠完善。
⑧ android百度地圖縮小到一定程度就不顯示了,是什麼原因
本身程序限制,再縮小也不可能放個地球平面圖給你,放到一定小,道路無法和列如其他標識等比縮小,這是有限制的。
⑨ 百度地圖Android SDK 使用MapController.zoomToSpan()方法兩次打開地圖縮放率不同
我也碰到這個問題,不過每次在第二次調用的時候,就能顯示正常,所以直接調用兩次即可,目前沒發現有任何影響!網路地圖Android SDK 使用MapController.zoomToSpan()方法兩次打開地圖縮放率不同