Ver Código Fonte

设定高德地图离线样式文件

huyuguo 5 anos atrás
pai
commit
56f83513ba

+ 1 - 1
app/src/main/AndroidManifest.xml

2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
    package="com.electric.chargingpile"
3
    package="com.electric.chargingpile"
4
    android:versionCode="78"
4
    android:versionCode="78"
5
    android:versionName="3.4">
5
    android:versionName="3.4.1">
6
    <!-- 极光 -->
6
    <!-- 极光 -->
7
    <permission
7
    <permission
8
        android:name="${applicationId}.permission.JPUSH_MESSAGE"
8
        android:name="${applicationId}.permission.JPUSH_MESSAGE"

BIN
app/src/main/assets/amap_custom_style_2019080601.data


+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/AlterTwoActivity.java

49
import com.electric.chargingpile.util.DES3;
49
import com.electric.chargingpile.util.DES3;
50
import com.electric.chargingpile.util.NetUtil;
50
import com.electric.chargingpile.util.NetUtil;
51
import com.electric.chargingpile.util.OkHttpUtil;
51
import com.electric.chargingpile.util.OkHttpUtil;
52
import com.electric.chargingpile.util.Util;
52
import com.electric.chargingpile.view.CustomProgressDialog;
53
import com.electric.chargingpile.view.CustomProgressDialog;
53
import com.squareup.okhttp.Request;
54
import com.squareup.okhttp.Request;
54
import com.squareup.okhttp.Response;
55
import com.squareup.okhttp.Response;
792
    private void initMap() {
793
    private void initMap() {
793
        if (aMap == null) {
794
        if (aMap == null) {
794
            aMap = mapView.getMap();
795
            aMap = mapView.getMap();
796
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
795
            MyLocationStyle myLocationStyle = new MyLocationStyle();
797
            MyLocationStyle myLocationStyle = new MyLocationStyle();
796
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
798
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
797
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
799
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/BuildMapActivity.java

29
import com.amap.api.services.geocoder.RegeocodeResult;
29
import com.amap.api.services.geocoder.RegeocodeResult;
30
import com.electric.chargingpile.R;
30
import com.electric.chargingpile.R;
31
import com.electric.chargingpile.application.MainApplication;
31
import com.electric.chargingpile.application.MainApplication;
32
import com.electric.chargingpile.util.Util;
32
import com.umeng.analytics.MobclickAgent;
33
import com.umeng.analytics.MobclickAgent;
33
34
34
public class BuildMapActivity extends Activity implements View.OnClickListener, AMap.OnCameraChangeListener, LocationSource, AMapLocationListener, AMap.OnMapLoadedListener, GeocodeSearch.OnGeocodeSearchListener {
35
public class BuildMapActivity extends Activity implements View.OnClickListener, AMap.OnCameraChangeListener, LocationSource, AMapLocationListener, AMap.OnMapLoadedListener, GeocodeSearch.OnGeocodeSearchListener {
85
    private void initMap() {
86
    private void initMap() {
86
        if (aMap == null) {
87
        if (aMap == null) {
87
            aMap = mapView.getMap();
88
            aMap = mapView.getMap();
89
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
88
            MyLocationStyle myLocationStyle = new MyLocationStyle();
90
            MyLocationStyle myLocationStyle = new MyLocationStyle();
89
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
91
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
90
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
92
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/ClaimMapActivity.java

49
import com.electric.chargingpile.util.DES3;
49
import com.electric.chargingpile.util.DES3;
50
import com.electric.chargingpile.util.JsonUtils;
50
import com.electric.chargingpile.util.JsonUtils;
51
import com.electric.chargingpile.util.SharedPreferencesUtil;
51
import com.electric.chargingpile.util.SharedPreferencesUtil;
52
import com.electric.chargingpile.util.Util;
52
import com.google.gson.Gson;
53
import com.google.gson.Gson;
53
import com.google.gson.reflect.TypeToken;
54
import com.google.gson.reflect.TypeToken;
54
import com.umeng.analytics.MobclickAgent;
55
import com.umeng.analytics.MobclickAgent;
335
    private void initMap() {
336
    private void initMap() {
336
        if (aMap == null) {
337
        if (aMap == null) {
337
            aMap = mapView.getMap();
338
            aMap = mapView.getMap();
339
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
338
            MyLocationStyle myLocationStyle = new MyLocationStyle();
340
            MyLocationStyle myLocationStyle = new MyLocationStyle();
339
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
341
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
340
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
342
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/ClaimSurveyTwoActivity.java

81
import com.electric.chargingpile.util.SharedPreferencesUtil;
81
import com.electric.chargingpile.util.SharedPreferencesUtil;
82
import com.electric.chargingpile.util.StatusConstants;
82
import com.electric.chargingpile.util.StatusConstants;
83
import com.electric.chargingpile.util.UploadUtil;
83
import com.electric.chargingpile.util.UploadUtil;
84
import com.electric.chargingpile.util.Util;
84
import com.electric.chargingpile.view.CustomProgressDialog;
85
import com.electric.chargingpile.view.CustomProgressDialog;
85
import com.electric.chargingpile.view.ObservableScrollView;
86
import com.electric.chargingpile.view.ObservableScrollView;
86
import com.google.android.gms.appindexing.Action;
87
import com.google.android.gms.appindexing.Action;
2578
    private void initMap() {
2579
    private void initMap() {
2579
        if (aMap == null) {
2580
        if (aMap == null) {
2580
            aMap = mapView.getMap();
2581
            aMap = mapView.getMap();
2582
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
2581
//            View v = mapView.getChildAt(0);
2583
//            View v = mapView.getChildAt(0);
2582
//            v.setOnTouchListener(new View.OnTouchListener() {
2584
//            v.setOnTouchListener(new View.OnTouchListener() {
2583
//
2585
//

+ 3 - 0
app/src/main/java/com/electric/chargingpile/activity/MainMapActivity.java

1513
        if (aMap == null) {
1513
        if (aMap == null) {
1514
            aMap = mapView.getMap();
1514
            aMap = mapView.getMap();
1515
1515
1516
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
1516
            maxZoomLevel = aMap.getMaxZoomLevel();
1517
            maxZoomLevel = aMap.getMaxZoomLevel();
1517
            minZoomLevel = aMap.getMinZoomLevel();
1518
            minZoomLevel = aMap.getMinZoomLevel();
1518
            MyLocationStyle myLocationStyle = new MyLocationStyle();
1519
            MyLocationStyle myLocationStyle = new MyLocationStyle();
3899
3900
3900
            final LatLng screenCity = new LatLng(wei, jing);
3901
            final LatLng screenCity = new LatLng(wei, jing);
3901
            aMap = mapView.getMap();
3902
            aMap = mapView.getMap();
3903
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
3902
            new Handler().postDelayed(new Runnable() {
3904
            new Handler().postDelayed(new Runnable() {
3903
                @Override
3905
                @Override
3904
                public void run() {
3906
                public void run() {
3925
//            Log.e("---------!", "jing=" + Double.valueOf(data.getStringExtra("jing")) + "--wei=" + Double.valueOf(data.getStringExtra("wei")));
3927
//            Log.e("---------!", "jing=" + Double.valueOf(data.getStringExtra("jing")) + "--wei=" + Double.valueOf(data.getStringExtra("wei")));
3926
            final LatLng screenCity = new LatLng(wei, jing);
3928
            final LatLng screenCity = new LatLng(wei, jing);
3927
            aMap = mapView.getMap();
3929
            aMap = mapView.getMap();
3930
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
3928
            new Handler().postDelayed(new Runnable() {
3931
            new Handler().postDelayed(new Runnable() {
3929
                @Override
3932
                @Override
3930
                public void run() {
3933
                public void run() {

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/PrivateZhuangMapActivity.java

37
import com.electric.chargingpile.R;
37
import com.electric.chargingpile.R;
38
import com.electric.chargingpile.application.MainApplication;
38
import com.electric.chargingpile.application.MainApplication;
39
import com.electric.chargingpile.util.BarColorUtil;
39
import com.electric.chargingpile.util.BarColorUtil;
40
import com.electric.chargingpile.util.Util;
40
import com.umeng.analytics.MobclickAgent;
41
import com.umeng.analytics.MobclickAgent;
41
42
42
public class PrivateZhuangMapActivity extends Activity implements View.OnClickListener, GeocodeSearch.OnGeocodeSearchListener, AMap.OnCameraChangeListener, LocationSource, AMap.OnMapLoadedListener, AMapLocationListener {
43
public class PrivateZhuangMapActivity extends Activity implements View.OnClickListener, GeocodeSearch.OnGeocodeSearchListener, AMap.OnCameraChangeListener, LocationSource, AMap.OnMapLoadedListener, AMapLocationListener {
115
    private void initMap() {
116
    private void initMap() {
116
        if (aMap == null) {
117
        if (aMap == null) {
117
            aMap = mapView.getMap();
118
            aMap = mapView.getMap();
119
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
118
            MyLocationStyle myLocationStyle = new MyLocationStyle();
120
            MyLocationStyle myLocationStyle = new MyLocationStyle();
119
            myLocationStyle.myLocationIcon(BitmapDescriptorFactory
121
            myLocationStyle.myLocationIcon(BitmapDescriptorFactory
120
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
122
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 1 - 0
app/src/main/java/com/electric/chargingpile/activity/RecommendZhanActivity.java

123
        mapView.onCreate(bundle);
123
        mapView.onCreate(bundle);
124
        if (aMap == null) {
124
        if (aMap == null) {
125
            aMap = mapView.getMap();
125
            aMap = mapView.getMap();
126
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
126
            maxZoomLevel = aMap.getMaxZoomLevel();
127
            maxZoomLevel = aMap.getMaxZoomLevel();
127
            minZoomLevel = aMap.getMinZoomLevel();
128
            minZoomLevel = aMap.getMinZoomLevel();
128
            MyLocationStyle myLocationStyle = new MyLocationStyle();
129
            MyLocationStyle myLocationStyle = new MyLocationStyle();

+ 1 - 1
app/src/main/java/com/electric/chargingpile/activity/RoutePlanMapActivity.java

459
    private void initMap() {
459
    private void initMap() {
460
        if (amap == null) {
460
        if (amap == null) {
461
            amap = mapView.getMap();
461
            amap = mapView.getMap();
462
462
            Util.setMapCustomStyleFile(amap, getApplicationContext());
463
            aMapNavi = AMapNavi.getInstance(getApplicationContext());
463
            aMapNavi = AMapNavi.getInstance(getApplicationContext());
464
            aMapNavi.addAMapNaviListener(this);
464
            aMapNavi.addAMapNaviListener(this);
465
            aMapNavi.setUseInnerVoice(true);
465
            aMapNavi.setUseInnerVoice(true);

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/RouteSelectPointActivity.java

38
import com.electric.chargingpile.util.ActivityManagerApplication;
38
import com.electric.chargingpile.util.ActivityManagerApplication;
39
import com.electric.chargingpile.util.BarColorUtil;
39
import com.electric.chargingpile.util.BarColorUtil;
40
import com.electric.chargingpile.util.EventBusUtil;
40
import com.electric.chargingpile.util.EventBusUtil;
41
import com.electric.chargingpile.util.Util;
41
import com.umeng.analytics.MobclickAgent;
42
import com.umeng.analytics.MobclickAgent;
42
43
43
import java.util.List;
44
import java.util.List;
109
    private void initMap() {
110
    private void initMap() {
110
        if (aMap == null) {
111
        if (aMap == null) {
111
            aMap = mapView.getMap();
112
            aMap = mapView.getMap();
113
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
112
            MyLocationStyle myLocationStyle = new MyLocationStyle();
114
            MyLocationStyle myLocationStyle = new MyLocationStyle();
113
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
115
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
114
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
116
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/ShareMapActivity.java

36
import com.electric.chargingpile.R;
36
import com.electric.chargingpile.R;
37
import com.electric.chargingpile.application.MainApplication;
37
import com.electric.chargingpile.application.MainApplication;
38
import com.electric.chargingpile.util.BarColorUtil;
38
import com.electric.chargingpile.util.BarColorUtil;
39
import com.electric.chargingpile.util.Util;
39
import com.umeng.analytics.MobclickAgent;
40
import com.umeng.analytics.MobclickAgent;
40
41
41
public class ShareMapActivity extends Activity implements View.OnClickListener, GeocodeSearch.OnGeocodeSearchListener, AMap.OnCameraChangeListener, LocationSource, AMap.OnMapLoadedListener, AMapLocationListener {
42
public class ShareMapActivity extends Activity implements View.OnClickListener, GeocodeSearch.OnGeocodeSearchListener, AMap.OnCameraChangeListener, LocationSource, AMap.OnMapLoadedListener, AMapLocationListener {
101
    private void initMap() {
102
    private void initMap() {
102
        if (aMap == null) {
103
        if (aMap == null) {
103
            aMap = mapView.getMap();
104
            aMap = mapView.getMap();
105
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
104
            MyLocationStyle myLocationStyle = new MyLocationStyle();
106
            MyLocationStyle myLocationStyle = new MyLocationStyle();
105
            myLocationStyle.myLocationIcon(BitmapDescriptorFactory
107
            myLocationStyle.myLocationIcon(BitmapDescriptorFactory
106
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
108
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 2 - 0
app/src/main/java/com/electric/chargingpile/activity/ShowBuildLocationActivity.java

32
import com.electric.chargingpile.application.MainApplication;
32
import com.electric.chargingpile.application.MainApplication;
33
import com.electric.chargingpile.data.BuildZhan;
33
import com.electric.chargingpile.data.BuildZhan;
34
import com.electric.chargingpile.util.JsonUtils;
34
import com.electric.chargingpile.util.JsonUtils;
35
import com.electric.chargingpile.util.Util;
35
import com.umeng.analytics.MobclickAgent;
36
import com.umeng.analytics.MobclickAgent;
36
import com.zhy.http.okhttp.OkHttpUtils;
37
import com.zhy.http.okhttp.OkHttpUtils;
37
import com.zhy.http.okhttp.callback.StringCallback;
38
import com.zhy.http.okhttp.callback.StringCallback;
88
    private void initMap() {
89
    private void initMap() {
89
        if (aMap == null) {
90
        if (aMap == null) {
90
            aMap = mapView.getMap();
91
            aMap = mapView.getMap();
92
            Util.setMapCustomStyleFile(aMap, getApplicationContext());
91
            MyLocationStyle myLocationStyle = new MyLocationStyle();
93
            MyLocationStyle myLocationStyle = new MyLocationStyle();
92
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
94
            myLocationStyle.myLocationIcon(com.amap.api.maps.model.BitmapDescriptorFactory
93
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标
95
                    .fromResource(R.drawable.point_icon));// 设置小蓝点的图标

+ 52 - 2
app/src/main/java/com/electric/chargingpile/util/Util.java

11
import android.view.View;
11
import android.view.View;
12
import android.view.WindowManager;
12
import android.view.WindowManager;
13

13

14
import com.amap.api.maps.AMap;
14
import com.electric.chargingpile.activity.MainMapActivity;
15
import com.electric.chargingpile.activity.MainMapActivity;
15
import com.electric.chargingpile.data.Zhan;
16
import com.electric.chargingpile.data.Zhan;
16
import com.electric.chargingpile.data.Zhuang;
17
import com.electric.chargingpile.data.Zhuang;
17
import com.electric.chargingpile.manager.ProfileManager;
18
import com.electric.chargingpile.manager.ProfileManager;
18

19

20
import java.io.File;
21
import java.io.FileOutputStream;
22
import java.io.IOException;
23
import java.io.InputStream;
19
import java.text.DecimalFormat;
24
import java.text.DecimalFormat;
20
import java.util.ArrayList;
25
import java.util.ArrayList;
21
import java.util.HashMap;
26
import java.util.HashMap;
51
    }
56
    }
52

57

53
    public static String getRandom(int length) {
58
    public static String getRandom(int length) {
54
        String val  = "";
59
        String val = "";
55
        Random random = new Random();
60
        Random random = new Random();
56
        for (int i=0;i<length;i++) {
61
        for (int i = 0; i < length; i++) {
57
            val += String.valueOf(random.nextInt(10));
62
            val += String.valueOf(random.nextInt(10));
58
        }
63
        }
59
        return val;
64
        return val;
317
        activity.getWindow().setAttributes(lp);
322
        activity.getWindow().setAttributes(lp);
318
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
323
        activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
319
    }
324
    }
325

326
    /**
327
     * 设定高德地图离线样式文件
328
     * @param aMap
329
     * @param context
330
     */
331
    public static void setMapCustomStyleFile(AMap aMap, Context context) {
332
        String styleName = "amap_custom_style_2019080601.data";
333
        FileOutputStream outputStream = null;
334
        InputStream inputStream = null;
335
        String filePath = null;
336
        try {
337
            inputStream = context.getAssets().open(styleName);
338
            byte[] b = new byte[inputStream.available()];
339
            inputStream.read(b);
340

341
            filePath = context.getFilesDir().getAbsolutePath();
342
            File file = new File(filePath + "/" + styleName);
343
            if (file.exists()) {
344
                file.delete();
345
            }
346
            file.createNewFile();
347
            outputStream = new FileOutputStream(file);
348
            outputStream.write(b);
349

350
        } catch (IOException e) {
351
            e.printStackTrace();
352
        } finally {
353
            try {
354
                if (inputStream != null)
355
                    inputStream.close();
356

357
                if (outputStream != null)
358
                    outputStream.close();
359

360
            } catch (IOException e) {
361
                e.printStackTrace();
362
            }
363
        }
364

365
        aMap.setCustomMapStylePath(filePath + "/" + styleName);
366

367
        aMap.setMapCustomEnable(true);
368
        aMap.showMapText(true);
369
    }
320
}
370
}