百度地圖實現普通地圖、定位、周邊搜尋功能
//--------------一下是普通地圖的實現-----------------------------------
1:開啟百度地圖APi進去,如果沒有註冊過的需要註冊,註冊過的登入進入
2:點選開發——Android地圖SDk——點選獲取金鑰——點選建立應用——然後你就建立一個新的專案
3:開啟你專案下的res——values——string.xml把專案名:比如BaiDuMap複製到應用名稱中去
4:應用型別選擇:Android SDK
5:釋出版SHA1 的獲取:開啟你電腦的c盤——使用者——你的使用者名稱——.android 下面有一個debug.keystore
點選鍵盤Windows+R 進入黑視窗 輸入 keytool -list -v -keystore 把keytool -list -v -keystore拖進去(注意:-keystore後面要有一個空格)點選鍵盤的回車鍵(如果你是輸入進去,黑視窗報錯keytool如下)
這樣的話你需要把環境變數設定一下
不要按照網上那些帖子配置需要這樣全部設定到path裡面
6:輸入金鑰庫口令:android (注意都是英文小寫)回車鍵
7:把下面顯示的證書指紋中的:SHA1複製到 釋出版SHA1
8:開啟你專案的清單檔案 把包名複製到 包名
9:點選下面的提交
10:就生成了一個Key
11:點選開發指南下的相關下載,下載相關的demo
12:把demo中libs下的除了android-support-v4 全部複製到你的工程的libs下
點選Android Studio工具欄中的有多個小方塊的那個圖示
點選APP再點選Dependencies ——點選加號 ——選擇File dependency
把libs下的jar包都新增進去
13:進入百度地圖Api的Android定位Sdk 中開發指南中的配置環境 找到
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
複製到 工程下的build.gradle中
如:buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
}
點選右上角的Sync Now 同步一下
14:進入開發指南中的 Hello BaiduMap中 (注意:key值就是剛才我們申請的那個)
(1)在application中新增開發金鑰
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="開發者 key" />
</application>
2)新增所需許可權
<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.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
第三步,在佈局xml檔案中新增地圖控制元件;
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
第四步,在應用程式建立時初始化 SDK引用的Context 全域性變數:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各元件之前初始化context資訊,傳入ApplicationContext
//注意該方法要再setContentView方法之前實現
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
}
}
注意:在SDK各功能元件使用之前都需要呼叫
SDKInitializer.initialize(getApplicationContext());,因此我們建議該方法放在Application的初始化方法中
第四步我是這麼做的
在onCreate中複製 SDKInitializer.initialize(getApplicationContext());進去
如下:
public class BaseApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
SDKInitializer.initialize(getApplicationContext());
}
}
然後在清單檔案中配置:<application下:
<application
android:name=".application.BaseApplication
第五步,建立地圖Activity,管理地圖生命週期;
public class MainActivity extends Activity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各元件之前初始化context資訊,傳入ApplicationContext
//注意該方法要再setContentView方法之前實現
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//獲取地圖控制元件引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命週期管理
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理
mMapView.onPause();
}
}
完成以上步驟後,執行程式,即可在您的應用中顯示
//-------------------以上是普通地圖的實現---------------------------------------------------------
//===============以下是定位功能的實現==========================
一:
1:配置環境 進入Android定位SDK的開發指南中點選配置環境
使用AndroidStutio的開發者除了上述操作外,還需要在build.gradle中配置SO檔案的使用,如下所示:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
2:
設定AndroidManifest.xml
在Application標籤中宣告SERVICE元件,每個APP擁有自己單獨的定位SERVICE
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">
</service>
3:宣告使用許可權
<!-- 這個許可權用於進行網路定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 這個許可權用於訪問GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用於訪問wifi網路資訊,wifi資訊會用於進行網路定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 獲取運營商資訊,用於支援提供運營商資訊相關的介面-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 這個許可權用於獲取wifi的獲取許可權,wifi資訊會用來進行網路定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 用於讀取手機當前的狀態-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!-- 寫入擴充套件儲存,向擴充套件卡寫入資料,用於寫入離線定位資料-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 訪問網路,網路定位需要上網-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡讀取許可權,使用者寫入離線定位資料-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
4:
設定AcessKey
Android定位SDK4.2及之後版本需要在Mainfest.xml正確設定Accesskey(AK),如果設定錯誤將會導致定位和地理圍欄服務無法正常使用。
設定AK,在Application標籤中加入
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="AK" /> //key:開發者申請的Key
//-------------------Activity2-------------------複製一下程式碼即可-------------程式碼來源下載的Demo中src下的baidumapsdk下的demo下的map下的LocationDemo------------------------
package com.example.baidumap.activity;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;
import com.example.baidumap.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class Activity2 extends Activity{
MapView mMapView = null;
// 定位相關
LocationClient mLocClient;
public MyLocationListenner myListener = new MyLocationListenner();
BaiduMap mBaiduMap;
boolean isFirstLoc = true; // 是否首次定位
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄
setContentView(R.layout.activity_main);
//獲取地圖控制元件引用
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
// 開啟定點陣圖層
mBaiduMap.setMyLocationEnabled(true);
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 開啟gps
option.setCoorType("bd09ll"); // 設定座標型別
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();
}
/**
* 定位SDK監聽函式
*/
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// map view 銷燬後不在處理新接收的位置
if (location == null || mMapView == null) {
return;
}
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此處設定開發者獲取到的方向資訊,順時針0-360
.direction(100).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(ll).zoom(18.0f);
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
}
public void onReceivePoi(BDLocation poiLocation) {
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// 退出時銷燬定位
mLocClient.stop();
// 關閉定點陣圖層
mBaiduMap.setMyLocationEnabled(false);
mMapView.onDestroy();
mMapView = null;
}
@Override
protected void onResume() {
super.onResume();
//在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理
mMapView.onPause();
}
}
//--------------以上是定位--------------------------------
//================以下是周邊搜尋功能===========================
注意:實現此功能時,匯入了兩個類檔案,分別是src下的com下的baidu下的mapapi下的overlayutil下的 OverlayManager 和 PoiOverlay
//---------------------Activity3中 完成以下就可做一個簡單的周邊搜尋了--------------------------------------------------
package com.example.baidumap.activity;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.CircleOptions;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.map.Stroke;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.search.core.PoiInfo;
import com.baidu.mapapi.search.core.SearchResult;
import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
import com.baidu.mapapi.search.poi.PoiBoundSearchOption;
import com.baidu.mapapi.search.poi.PoiDetailResult;
import com.baidu.mapapi.search.poi.PoiDetailSearchOption;
import com.baidu.mapapi.search.poi.PoiIndoorResult;
import com.baidu.mapapi.search.poi.PoiNearbySearchOption;
import com.baidu.mapapi.search.poi.PoiResult;
import com.baidu.mapapi.search.poi.PoiSearch;
import com.baidu.mapapi.search.poi.PoiSortType;
import com.example.baidumap.R;
import com.example.baidumap.activity.Activity2.MyLocationListenner;
import com.example.baidumap.utils.PoiOverlay;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Activity3 extends Activity implements OnGetPoiSearchResultListener{
MapView mMapView = null;
// 定位相關
LocationClient mLocClient;
public MyLocationListenner myListener = new MyLocationListenner();
BaiduMap mBaiduMap;
boolean isFirstLoc = true; // 是否首次定位
private EditText et_text;
private Button bt_button;
private PoiSearch mPoiSearch = null;
LatLng center = null;
int radius = 50000;
//-----------------onCreate-------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄
setContentView(R.layout.activity_main);
//找到控制元件
et_text = (EditText) findViewById(R.id.et_text);
bt_button = (Button) findViewById(R.id.bt_nutton);
//獲取地圖控制元件引用
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
// 開啟定點陣圖層
mBaiduMap.setMyLocationEnabled(true);
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 開啟gps
option.setCoorType("bd09ll"); // 設定座標型別
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();
// 初始化搜尋模組,註冊搜尋事件監聽
mPoiSearch = PoiSearch.newInstance();
mPoiSearch.setOnGetPoiSearchResultListener(this);
//點選搜尋
bt_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//關閉輸入框
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
PoiNearbySearchOption nearbySearchOption = new PoiNearbySearchOption().keyword(et_text.getText()
.toString()).sortType(PoiSortType.distance_from_near_to_far).location(center)
.radius(radius).pageNum(10);//顯示資料個數
mPoiSearch.searchNearby(nearbySearchOption);
}
});
}
/**
* 定位SDK監聽函式
*/
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// map view 銷燬後不在處理新接收的位置
if (location == null || mMapView == null) {
return;
}
center=new LatLng(location.getLatitude(), location.getLongitude());
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此處設定開發者獲取到的方向資訊,順時針0-360
.direction(100).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(ll).zoom(18.0f);
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
}
public void onReceivePoi(BDLocation poiLocation) {
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// 退出時銷燬定位
mLocClient.stop();
// 關閉定點陣圖層
mBaiduMap.setMyLocationEnabled(false);
mMapView.onDestroy();
mMapView = null;
}
@Override
protected void onResume() {
super.onResume();
//在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理
mMapView.onPause();
}
/**
* 獲取POI詳情搜尋結果,得到searchPoiDetail返回的搜尋結果
* @param result
*/
@Override
public void onGetPoiDetailResult(PoiDetailResult arg0) {
if (arg0.error != SearchResult.ERRORNO.NO_ERROR) {
Toast.makeText(Activity3.this, "抱歉,未找到結果", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Activity3.this, arg0.getName() + ": " + arg0.getAddress(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onGetPoiIndoorResult(PoiIndoorResult arg0) {
}
/**
* 獲取POI搜尋結果,包括searchInCity,searchNearby,searchInBound返回的搜尋結果
* @param result
*/
@Override
public void onGetPoiResult(PoiResult arg0) {
if (arg0 == null || arg0.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {
Toast.makeText(Activity3.this, "未找到結果", Toast.LENGTH_LONG)
.show();
return;
}
if (arg0.error == SearchResult.ERRORNO.NO_ERROR) {
mBaiduMap.clear();
PoiOverlay overlay = new MyPoiOverlay(mBaiduMap);
mBaiduMap.setOnMarkerClickListener(overlay);
overlay.setData(arg0);
overlay.addToMap();
overlay.zoomToSpan();
showNearbyArea(center, radius);
return;
}
}
private class MyPoiOverlay extends PoiOverlay {
public MyPoiOverlay(BaiduMap baiduMap) {
super(baiduMap);
}
@Override
public boolean onPoiClick(int index) {
super.onPoiClick(index);
PoiInfo poi = getPoiResult().getAllPoi().get(index);
// if (poi.hasCaterDetails) {
mPoiSearch.searchPoiDetail((new PoiDetailSearchOption())
.poiUid(poi.uid));
// }
return true;
}
}
/**
* 對周邊檢索的範圍進行繪製
* @param center
* @param radius
*/
public void showNearbyArea( LatLng center, int radius) {
//設定中心點
/* BitmapDescriptor centerBitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo);
MarkerOptions ooMarker = new MarkerOptions().position(center).icon(centerBitmap);
mBaiduMap.addOverlay(ooMarker);*/
//顯示圖層
/* OverlayOptions ooCircle = new CircleOptions().fillColor( 0xCCCCCC00 ).center(center).stroke(new Stroke(5, 0xFFFF00FF )).radius(radius);
mBaiduMap.addOverlay(ooCircle);*/
}
}
//===========以上是周邊搜尋功能==================
//----------------以下是周邊搜尋的佈局檔案--------------------------
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/et_text"
android:hint="請輸入搜尋內容"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周邊搜尋"
android:id="@+id/bt_nutton"/>
</LinearLayout>
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
</LinearLayout>
////****************注意Android6.0以增加了許可權有些許可權需要新增一下程式碼進行新增許可權**********************/////
/*不新增許可權會導致定位不準確*/
if(ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION)!=PackageManager.PERMISSION_GRANTED
||ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){//申請WRITE_EXTERNAL_STORAGE許可權ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION},
ACCESS_COARSE_LOCATION_REQUEST_CODE);}else{
initMap(sss);
sss是整合百度地圖放到了initMap();方法裡面了,上邊有具體的方法!@
}
相關推薦
百度地圖實現普通地圖、定位、周邊搜尋功能
//--------------一下是普通地圖的實現----------------------------------- 1:開啟百度地圖APi進去,如果沒有註冊過的需要註冊,註冊過的登入進入 2:點選開發——Android地圖SDk——點選獲取金鑰——點選建立應用——
Android整合百度地圖-----顯示地圖、定位、長按顯示地址資訊
一、基礎部分 轉載請註明出處:https://blog.csdn.net/Hunter2916/article/details/82867205 1、下載百度地圖的SDK 下載地址:http://lbsyun.baidu.com/index.php?title=android-locsd
百度地圖相關開發:顯示、定位、描點、自定義大頭針
一、環境配置 二、地圖顯示與定位 三、根據經緯度描點 四、大頭針與氣泡 五、給大頭針加tag值 六、問題處理 一、環境配置 1. 註冊和獲取金鑰: 2、下載.百度地圖framework包: 3、環
百度地圖實現拖動獲取定位度,實現地位
如果需要實現定位,則需要獲取的是ak,這是實現定位的前提, 像這樣的就是獲取到了ak,也就是一個專案中使用的是一個ak。 申請ak: ==>定位點動畫效果 marker.setAnima
百度&高德地圖小區景點邊界輪廓實現
經常的我們在使用地圖功能時,會發現在選擇一個小區或者一個熱門景點的時候,地圖上面會給出其邊界輪廓,能夠方便我們知道其範圍大小,有時候在我們使用地圖元件的時候,也會面臨著類似的需求。比如在地圖上面標識出一個商場範圍內的熱力圖,一個熱門景點的遊覽情況等。那麼,我們該如何利用地圖
使用百度API實現實時公交站點查詢及地圖顯示
需求:當外部輸入公交站點名稱,點選查詢按鈕的時候,會在div上顯示所有包含此公交站點的公交線路號的列表,點選列表中的項,會在百度地圖上繪製出其線路。 實現: 第一步:生成經過此公交站點的所有線路列表 使用的百度API:服務類中LocalSearch類,用於進行位置搜尋、周
微信公眾號開發《三》微信JS-SDK之地理位置的獲取,整合百度地圖實現線上地圖搜尋
本次講解微信開發第三篇:獲取使用者地址位置資訊,是非常常用的功能,特別是服務行業公眾號,尤為需要該功能,本次講解的就是如何呼叫微信JS-SDK介面,獲取使用者位置資訊,並結合百度地鐵,實現線上地圖搜尋,與線上導航。 在這貼上上二篇博文連結,方便大家訪問: 1.何為J
使用百度API實現實時公交線路查詢及地圖顯示
需求:當外部輸入公交線路號,點選查詢按鈕的時候,會在div上顯示所有包含此公交線路號的列表,點選列表中的項,會在百度地圖上繪製出其線路。 實現: 第一步:生成線路列表 使用的百度API:服務類中BusLineSearch類是公交線路搜尋類。 構造其物件,呼叫其getBus
iOS應用內跳轉百度高德蘋果地圖
bool 知識點 coo count value oid bsp lse rec 移動開發經常用到基於位置的一些導航功能,但是對於對導航功能依賴性不強的的應用,我們直接采用應用外跳轉地圖APP即可。 但是應用間跳轉,首先需要設置白名單, 在iOS 9 下涉及到平臺客戶端跳
使用百度SDK實現定位功能
今天由於專案功能需求,使用了這個SDK。現簡單總結一下製作了一個小的Demo 首先,竟然要使用百度的APL自然需要去滿足它的條件,步驟如下: 1、下載百度地圖的SDK 下載地址:百度地圖SDK下載 2、申請key值  
04 在地圖上新增主頁、定位、鷹眼圖和比例尺控制元件
在上一篇文章中我們學習瞭如何建立一個簡單的地圖,那接下來,我們學習如何給建立好的地圖上新增一些基本的空間,最終效果如下圖所示: 由上圖可以看出,我們在地圖上添加了主頁、定位、鷹眼圖以及比例尺控制元件,下面將詳細介紹如何新增: 1 主頁按鈕的新增 新增主頁按鈕的前提是
基於python+opencv+pyqt5+百度AI實現的人臉識別、語音播報、語音合成、模擬簽到系統(1)
人臉識別效果圖 簡單介紹 使用python3+寫的,使用face_recognition(python開源的人臉識別庫)進行人臉識別 ,使用opencv2進行開啟顯示攝像頭圖片等,使用pyqt5是ui介面,使用百度AI中的百度語音合成實現語音播報和語音合成,
ionic1 接入百度或者高德地圖 移動端不顯示 pc端谷歌瀏覽器正常的問題解決
這個問題困擾了我三天!!! 火大!!!!!! 百度別人,什麼api換成getscript,加scroll='false'... 各種操作,毛用沒有。 看程式碼沒有任何問題,該引入的都引了,js部分try catch 下 移動端報錯 AMap(BMap) is not de
百度與谷歌地圖瓦片組織方式對比
百度是從中心點經緯度(0,0)度開始計算瓦片,在第1級時百度將世界地圖分為4塊。 中心點右上部分(中國地區)佔1塊。 谷歌是從左上角經緯度(-180,90)度開始計算瓦片,在第1級時谷歌將世界地圖分為1塊。 在第2級時,百度地圖(中心點右上部分)分為
Android仿百度,高德地圖位置交換控制元件,水平or垂直交換控制元件位置
開始看到這個需求,準備使用檢視動畫 TranslateAnimation 來實現。但是把因為檢視動畫只是移動了檢視,控制元件的位置沒有改變,導致只能執行一次交換的動作,不能交換回來。逐放棄改用屬性動畫來實現。直接交換兩個控制元件的位置,交換後在將原來控制元件的值賦予交換後
城市選擇、定位、搜尋及右側字母導航,類似美團 百度糯米 餓了麼等 APP 選擇城市功能
CityPicker 專案地址:zaaach/CityPicker 簡介:城市選擇、定位、搜尋及右側字母導航,類似美團 百度糯米 餓了麼等 APP 選擇城市功能 更多:作者 提 Bug 標籤: &n
解決百度ueditor插入動態地圖空白 支援iframe方法
說明:新版本ueditor要修改 xss過濾白名單 修改配置檔案ueditor.config.js 搜尋: whitList 增加下面第二行即可 1 2 3 ,whitList:{ iframe: ['frameborder','border','margin
百度谷歌離線地圖解決方案(離線地圖下載)
離線地圖解決方案,除了買地圖資料,使用專業的ArcGIS來做外,也可以使用GMap.Net來做。 使用了GMap一年了,也有了一些積累,開發了一個可以下載ArcGIS、百度、谷歌、高德、騰訊SOSO、天地圖、Here等地圖的地圖下載器。 百度和google地圖載入顯示如下: 百度普通地圖: 百
基於百度雲實現微信服務號內文字語音互轉STT TTS
.com wid ech 設置 errcode creat ice 遍歷 組裝 先上效果圖: 使用百度語音識別和語音合成兩個接口實現 1.語音識別STT 用戶微信輸入,調用百度api,得到識別文本。 2.語音合成TTS 用戶輸入問題,調用百度api,得到mps音頻,使用開
python,使用百度api實現復制截圖中的文字
content nsh AD con 讀取 __name__ return IT now() 百度雲文字識別技術文檔: https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E6.96.B0.E5.BB.BAAipOcr