android百度地圖標注
『壹』 android調用百度地圖,怎麼添加備注
你說的備注就是 覆蓋物,API裡面有的,
Drawable marker = this.mContext.getResources().getDrawable(R.drawable.pop);
BitmapDrawable bd = (BitmapDrawable) marker;
Bitmap popbitmap = bd.getBitmap();
pop.showPopup(popbitmap, mGeoList.get(index).getPoint(), 32);
你說的是這個吧,但是怎麼添加文字呢,文字是動態生成的。
『貳』 android 百度地圖如何實現點擊地圖添加marker,每點擊一次添加一個標注並且之前的標注不消失,如何實現
網路地圖應該有地圖點擊事件介面,然後利用這個介面實現添加marker的功能,添加完後你不去管他,marker應該不會消失,畢竟你添加了
『叄』 android調用百度地圖,怎麼添加備注
你說的備注就是 覆蓋物,API裡面有的,附帶 傳送門
Drawable marker = this.mContext.getResources().getDrawable(R.drawable.pop);
BitmapDrawable bd = (BitmapDrawable) marker;
Bitmap popbitmap = bd.getBitmap();
pop.showPopup(popbitmap, mGeoList.get(index).getPoint(), 32);
你說的是這個吧,但是怎麼添加文字呢,文字是動態生成的。
//這是在點擊了標記之後,彈出的浮動窗口
mPopView=super.getLayoutInflater().inflate(R.layout.popview, null);
mMapView.addView( mPopView,
new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
null, MapView.LayoutParams.TOP_LEFT));
mPopView.setVisibility(View.GONE);
mPopView.setVisibility(View.GONE); 把他改成visible他就是不在mapview中顯示
還有用的mapsdk2.0 根本就沒有draw()這個核心方法給你重寫
『肆』 android 百度地圖標記坐標問題
1、構建基礎地圖頁面;
2、在地圖的中心點處添加 Marker;
3、實現 Marker 的點擊事件響應;
4、實現 Marker 的添加和靈活刪除;
為了實現以上目標,我們會分成以下若干步驟來進行。
第一步、創建工程,導入網路地圖 Android SDK;
具體創建工程的方式(略)。本示例主要是為了實現地圖及相關的覆蓋物功能,因此這里我只使用 SDK 開發資源下載平台所提供的【基礎地圖】功能模塊即可。
選擇完成後,點擊開發包下載,將所下載開發包正確導入開發工程。
第二步、申請開發者秘鑰;
工程創建完成後,到 API 控制台,申請相應的開發秘鑰,為具體開發工作準備。
具體申請方式及注意事項,請參考:http://blog.csdn.net/callmesen/article/details/39523767 此處不再贅述。
第三步、修改 AndroidManifest 文件,添加開發秘鑰和所需許可權;
在 AndroidManifest 文件中,添加開發秘鑰和所需許可權。
添加開發秘鑰方式如下:
[html] view plain
<meta-data
android:name="com..lbsapi.API_KEY"
android:value="開發秘鑰!" />
注意在 application 裡面。
添加所需許可權如下:
[html] view plain
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
第四步、創建基礎地圖;
在 xml 文件中添加 mapview 控制項,如下所示:
[html] view plain
<com..mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
在 java 代碼中初始化地圖 SDK,實現基礎地圖的展示:
[java] view plain
//初始化地圖 SDK
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//綁定XML中得 mapview 控制項
mapView = (MapView) findViewById(R.id.bmapView);
第五步、獲取地圖中心點,並添加 Marker 對象;
實現的核心代碼如下:
[java] view plain
Map = mapView.getMap();
LatLng latLng = Map.getMapStatus().target;
//准備 marker 的圖片
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher);
//准備 marker option 添加 marker 使用
markerOptions = new MarkerOptions().icon(bitmap).position(latLng);
//獲取添加的 marker 這樣便於後續的操作
marker = (Marker) Map.addOverlay(markerOptions);
第六步、實現 Marker 的點擊事件響應;
利用 map 對象的地圖監聽方法,實現針對 marker 的點擊響應,核心代碼如下:
[java] view plain
//對 marker 添加點擊相應事件
Map.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker arg0) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Marker被點擊了!", Toast.LENGTH_SHORT).show();
return false;
}
});
第七步、利用 Button 控制項,控制 Marker 的添加刪除;
這里用 button 來控制在地圖上添加 或者 刪除一個 marker,首先在 xml 中添加一個 button 控制項:
[html] view plain
<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="刪除Marker" />
在 java 代碼中添加這個 button 的點擊事件響應,核心代碼如下:
[java] view plain
//按鈕控制添加刪除 button
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(button.getText() == "添加Marker")
{
marker = (Marker) Map.addOverlay(markerOptions);
button.setText("刪除Marker");
}
else
{
marker.remove();
button.setText("添加Marker");
}
}
});
通過以上的操作,就可以實現相應的 marker 添加,marker 點擊響應,marker 刪除等操作。
『伍』 android 知道南緯北緯,如何在百度地圖中標注出來
下個谷歌地球,用谷歌地球放到到和網路地圖相同的縮放級別,然後谷歌地球會顯示南緯北緯,對應網路地圖就可以標注了
『陸』 android怎麼實現百度地圖標記多個地方
//獲取經緯度
double latitude = latLng.latitude;
double longitude = latLng.longitude;
System.out.println("latitude=" + latitude + ",longitude=" + longitude);
//先清除圖層
mBaiMap.clear();
// 定義Maker坐標點
LatLng point = new LatLng(latitude, longitude);
// 構建MarkerOption,用於在地圖上添加Marker
MarkerOptions options = new MarkerOptions().position(point)
.icon(bitmap);
// 在地圖上添加Marker,並顯示
mBaiMap.addOverlay(options);
// 在地圖上添加Marker數組,並顯示
//mBaiMap.addOverlays(overlayOptionses);
『柒』 android 百度地圖標記點
我有嘗試過標注2000多個點~~大概需要載入的時間就是4,5秒~~而1萬多兩萬個點,那應該不是一般的慢.~~對於一個app來說`~載入時間越短越好~~
UI方面優化如下:
對於很多的點可以進行把相近的點集合在一個點上,而這個點標記的內容則是顯示當前集合在這個點上的數量,而點擊這個點再次顯示這個點集下的內容.如美團網app處理相近點商家的處理方式一樣.