First of all, follow the normal method, apply for a developer account and create Application
Baidu Dev CenterNext, download the Demo project. The address is http://lbsyun.baidu.com/sdk/download. It is best to create a new android project yourself and then add the demo to Copy the corresponding files to the project, because the package name needs to be used in the process of applying for the Key. Modify the project menu file AndroidManifest.xml file, add the applied Key, re-run the project, and the navigation interface will appear
Baidu Navi Demo UIFrom The latitude and longitude information of two locations was found on the network, (121.387211, 31.088074) and (121.523014, 31.277986). One is used as the starting point and the other is used as the end point. When the navigation function BNRoutePlanNode is called, an error of "Route calculation failed" is prompted. Later, I found that the order of the actual parameters was longitude first and latitude last. I changed the order and the navigation was successful
When I opened the demo, I found an error message in the logcat
bdTTSGetAuthorize failed!
This is because the SDK has built-in Baidu TTS voice broadcast function, which requires authorization verification of the app before it can be used. The authorization method is http://developer.baidu.com/map/index.php?title=android- navsdk/guide/voice
In the Demo provided in Baidu Map SDK, there is an example of offline downloading of the city map resource package. Use the default path. Take a look at BaseMapDemo.java. onCreate function
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); if (intent.hasExtra("x") && intent.hasExtra("y")) { // 当用intent参数时,设置中心点为指定点 Bundle b = intent.getExtras(); LatLng p = new LatLng(b.getDouble("y"), b.getDouble("x")); mMapView = new MapView(this, new BaiduMapOptions().mapStatus(new MapStatus.Builder() .target(p).build())); } else { mMapView = new MapView(this, new BaiduMapOptions()); } setContentView(mMapView); mBaiduMap = mMapView.getMap(); }
When the current activity does not pass a value (the key values are x and y, corresponding to the longitude and latitude information), the map of Beijing will be displayed by default. After knowing this, you can change the default map display by passing a value, as in the following example
Bundle bundle = new Bundle();bundle.putDouble("y",31.088074);bundle.putDouble("x",121.387211);intent.putExtras(bundle);startActivity(intent);