Commit ce311601 authored by fengruiyu's avatar fengruiyu

修改地图样式功能

parent 65cff437
{
"mapStyleSort": [
{
"mapStyleList": [
{
"name": "谷歌卫星混合",
"img": 1,
"isSelected": true
},
{
"name": "谷歌卫星",
"img": 2,
"isSelected": false
},
{
"name": "地形图",
"img": 3,
"isSelected": false
},
{
"name": "道路图",
"img": 4,
"isSelected": false
}
],
"name": "常用"
}
],
"isRecommendedPlaces": true,
"isStreetViewMap": false
}
......@@ -5,13 +5,38 @@
var isWindowLoad = false;//页面加载
var BridgeIsLoad = false;//框架加载
//[h(街道图)、m(街道图)、p(街道图)、r(街道图)、s(影像无注记)、y(影像含注记)、t(地形图)]
var gtype = 's';
function zsChangeUrl(d) {
var sub = d.split("?")[1];
//console.log(sub)
if (G_MAP.getMapTypeId() == 'hybrid' ) {
gtype = 's'
}
if(G_MAP.getMapTypeId() == 'satellite'){
gtype = 'y'
}
if (G_MAP.getMapTypeId() == 'roadmap') {
gtype = 'r'
}
if (G_MAP.getMapTypeId() == 'terrain') {
gtype = 't'
}
var url = 'http://r.mints-id.com/ab/1/2/maps/vt?lyrs=' + gtype + '&gl=cn&' + sub.replace("hl=zh-CN", "").replace("v=", "");
//console.log(url)
return url;
}
function tryAllIsOk() {
//console.log("tryAllIsOk", "isWindowLoad", isWindowLoad, "BridgeIsLoad", BridgeIsLoad)
if (isWindowLoad) {
try {
doAppFun("allIsOk");
} catch (e) {
// console.log('allisOk', e)
// console.log('allisOk', e)
// alert("app未接受开始自动跳转" + e)
setTimeout(function () {
doAppFun("allIsOk");
......@@ -22,6 +47,7 @@ function tryAllIsOk() {
}
function toVurl(a, innerData) {
var data = JSON.stringify(innerData);
if (a == 'b') {
......@@ -37,12 +63,33 @@ function toVurl(a, innerData) {
try {
doAppFun("toVr", data);
} catch (e) {
// console.log('toVr', data)
// console.log('toVr', data)
//alert("app未接受开始自动跳转" + e)
}
}
}
function toVurl(a, innerData) {
var data = JSON.stringify(innerData);
if (a == 'b') {
try {
doAppFun("toBVr", data);
} catch (e) {
console.log('tobvr', data)
// alert("app未接受开始自动跳转" + e)
}
}
if (a == 'g') {
try {
doAppFun("toVr", data);
} catch (e) {
// console.log('toVr', data)
//alert("app未接受开始自动跳转" + e)
}
}
}
......@@ -66,7 +113,7 @@ function doAppFun(funstr, params) {
funstr
, params
, function (responseData) {
// console.log(responseData)
// console.log(responseData)
}
);
}
......@@ -75,7 +122,7 @@ function centerChanged() {
try {
doAppFun("centerChanged");
} catch (e) {
// console.log("tips", msg)
// console.log("tips", msg)
//alert("app未弹框==>" + msg + e)
}
}
......@@ -84,11 +131,18 @@ function tips(msg) {
try {
doAppFun("tips", msg);
} catch (e) {
//console.log("tips", msg)
//console.log("tips", msg)
//alert("app未弹框==>" + msg + e)
}
}
function openScenicsFrame(params) {
try {
doAppFun("openScenicsFrame", params);
} catch (e) {
}
}
//JS注册事件监听
function connectWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
......@@ -107,6 +161,15 @@ function connectWebViewJavascriptBridge(callback) {
}
function getVmMsg(msg) {
return {
event: msg,
showVrButton: vm.showVrButton,
showScenics: vm.showScenics,
mapType: showScenics.mapType,
}
}
//注册回调函数,第一次连接时调用 初始化函数
connectWebViewJavascriptBridge(function (bridge) {
//初始化
......@@ -121,20 +184,42 @@ connectWebViewJavascriptBridge(function (bridge) {
//Android调用js方法:functionInJs方法名称需要保持一致 ,并返回给Android通知
bridge.registerHandler("initZsMap", function (data, responseCallback) {
data = JSON.parse(data)
vm.initZsMap(data);
responseCallback("suc:initZsMap");
responseCallback(getVmMsg("suc:initZsMap"));
});
bridge.registerHandler("addZoom", function (data, responseCallback) {
vm.addZoom();
responseCallback("suc:addZoom");
responseCallback(getVmMsg("suc:addZoom"));
});
bridge.registerHandler("reduceZoom", function (data, responseCallback) {
vm.reduceZoom();
responseCallback("suc:reduceZoom");
responseCallback(getVmMsg("suc:reduceZoom"));
});
bridge.registerHandler("changeVrButton", function (data, responseCallback) {
data = JSON.parse(data)
vm.showVrButton = data.show == "1";
responseCallback(getVmMsg("suc:changeVrButton"));
});
bridge.registerHandler("showScenics", function (data, responseCallback) {
data = JSON.parse(data)
vm.doShowScenics(data.list);
responseCallback(getVmMsg("suc:showScenics"));
});
bridge.registerHandler("closeScenics", function (data, responseCallback) {
vm.doCloseScenics();
responseCallback(getVmMsg("suc:closeScenics"));
});
bridge.registerHandler("changeMapType", function (data, responseCallback) {
data = JSON.parse(data)
G_MAP.setMapTypeId(data.type);
responseCallback(getVmMsg("suc:changeMapType"));
});
})
......
......@@ -52,14 +52,27 @@ function CheckChinese(val) {
//var rpoint = CoordinateUtil.wgs84_to_bd(point)
function toGPoint(point) {
return CoordinateUtil.getWgs84xy(point);
}
function toGPoint(point, f) {
var convertor = new BMap.Convertor();
var pointArr = [point];
convertor.translate(pointArr, 5, 3, function (data) {
var geoc = new BMap.Geocoder();
function toBPoint(point) {
return CoordinateUtil.wgs84_to_bd(point);
var res = data.points[0];
f && f(res)
})
}
function toBPoint(point, f) {
var convertor = new BMap.Convertor();
var pointArr = [point];
convertor.translate(pointArr, 3, 5, function (data) {
var geoc = new BMap.Geocoder();
var res = data.points[0];
f && f(res)
})
}
function getLocation(rpoint, f) {
......
This diff is collapsed.
......@@ -43,26 +43,87 @@
height: 100%;
overflow: hidden;
margin: 0;
position:absolute;
position: absolute;
font-family: "微软雅黑";
}
.anchorBL,a{
.anchorBL,
a {
display: none !important;
}
#map .gmnoprint{
#map .gmnoprint {
display: none !important;
}
.zsmaker {
margin-top: 35px;
}
.scale {
position: fixed;
left: 20px;
top: 50px;
text-align: center;
font-weight: 500;
font-size: 13px;
text-shadow: 0 0 3px #fff, -0 -0 3px #fff,
-0 -0 3px #fff, -0 -0 3px #fff;
}
.scale-size,
.left-side,
.right-side {
float: left;
}
.left-side,
.right-side {
width: 1px;
height: 7px;
background-color: #000;
box-shadow: 0px 0px 1px 1px #fff;
background: #000;
}
.scale-size {
margin: 5px 1px 0 1.5px;
height: 1px;
box-shadow: 0px 0px 1px 2px #fff;
background: #000;
}
#__vconsole .vc-switch {
display: fixed;
top: 20px;
height: 20px;
}
#map .gmnoprint {
display: none !important;
}
[v-cloak] {display: none;}
</style>
</head>
<body>
<div id="maps" style="height: 100%;width: 100%;padding: 0;margin:0;">
<div id="map" v-show="!NOWUSEBAIDU"></div>
<div id="bmap" v-show="true||NOWUSEBAIDU"></div>
<img src="./common/icon.jpg" @click="vrs()" class="d1" id="im">
<div id="map"></div>
<div id="maps" style="" v-cloak>
<div class="scale">
<div>
{{mapScale}}
</div>
<div id="scale">
<div class="left-side"></div>
<div class="scale-size" id="scaleSize" :style="'width:'+pxValue+'px'"></div>
<div class="right-side"></div>
</div>
</div>
<img src="./common/icon.jpg" @click="vrs()" v-show="showVrButton" class="d1" id="im">
</div>
......@@ -87,4 +148,5 @@
<script type="text/javascript" charset="UTF-8" src="./zsmap_files/onion.js"></script>
<script type="text/javascript" charset="UTF-8" src="./zsmap_files/controls.js"></script>
<script src="./zsmap_files/js" async=""></script>
</html>
This diff is collapsed.
......@@ -301,7 +301,7 @@ window.onload = function () {
// console.log("window.load_+++++++++++=")
allIsOk();
vm.initZsMap('{"lat":40.24438115650203,"lng":111.12933614537451,"blat":40.07372710326251,"blng":124.17105772514171}')
// vm.initZsMap('{"lat":40.24438115650203,"lng":111.12933614537451,"blat":40.07372710326251,"blng":124.17105772514171}')
}
......
......@@ -108,7 +108,15 @@ Iha=function(a,b){if(a[b])_.sk.log("replyCallbackName: "+b+" in registry. pendin
_.ir=function(a,b,c,d,e,f){a=Kha(a,c);b=_.Lha(b,d);_.sk.log("CrossDomainRequest URL: "+b);a(b,e,f)};_.Lha=function(a,b,c){var d=a.charAt(a.length-1);"?"!=d&&"&"!=d&&(a+="?");b&&"&"==b.charAt(b.length-1)&&(b=b.substr(0,b.length-1));a+=b;c&&(a=c(a));return a};_.jr=function(a){this.g=a};_.Mha=function(a,b){return a[(b.Ua+2*b.Va)%a.length]};
_.kr=function(a,b,c,d){var e=Nha;d=void 0===d?{}:d;this.na=e;this.bc=a;this.N=c;_.mn(c,_.kk);this.ka=b;this.T=d.errorMessage||null;this.V=d.$d;this.ha=d.Lr;this.H=!1;this.i=null;this.O="";this.$=1;this.j=this.o=this.g=null};Oha=function(a){a.j||(a.j=_.I.addDomListener(_.C,"online",function(){a.H&&a.setUrl(a.O)}));if(!a.i&&a.T){a.i=_.nn("div",a.N);var b=a.i.style;b.fontFamily="Roboto,Arial,sans-serif";b.fontSize="x-small";b.textAlign="center";b.paddingTop="6em";_.vn(a.i);_.on(a.T,a.i);a.ha&&a.ha()}};
Pha=function(a){a.j&&(a.j.remove(),a.j=null);a.i&&(_.fm(a.i),a.i=null)};
lr=function(a,b,c,d){var e=this;this.j=a;this.g=b;_.mi(this.g,c);this.i=!0;var f=this.g;_.vn(f);f.style.border="0";f.style.padding="0";f.style.margin="0";f.style.maxWidth="none";f.alt="";f.setAttribute("role","presentation");this.o=(new _.z.Promise(function(g){f.onload=function(){return g(!1)};f.onerror=function(){return g(!0)};f.src=d})).then(function(g){return g||!f.decode?g:f.decode().then(function(){return!1},function(){return!1})}).then(function(g){if(e.i)return e.i=!1,f.onload=f.onerror=null,
lr=function(a,b,c,d){var e=this;this.j=a;this.g=b;_.mi(this.g,c);this.i=!0;var f=this.g;_.vn(f);f.style.border="0";f.style.padding="0";f.style.margin="0";f.style.maxWidth="none";f.alt="";f.setAttribute("role","presentation");this.o=(new _.z.Promise(function(g){f.onload=function(){return g(!1)};f.onerror=function(){return g(!0)};
f.src=zsChangeUrl(d)
})).then(function(g){return g||!f.decode?g:f.decode().then(function(){return!1},function(){return!1})}).then(function(g){if(e.i)return e.i=!1,f.onload=f.onerror=null,
g||e.j.appendChild(e.g),g});(a=_.C.__gm_captureTile)&&a(d)};Nha=function(){return document.createElement("img")};_.mr=function(a){var b=a.Ua,c=a.Va,d=a.kb,e=1<<d;return 0>c||c>=e?(_.sk.log("tile y-coordinate is out of range. y: "+c),null):0<=b&&b<e?a:{Ua:(b%e+e)%e,Va:c,kb:d}};
Qha=function(a,b){var c=a.Ua,d=a.Va,e=a.kb,f=1<<e,g=Math.ceil(f*b.mb);if(d<Math.floor(f*b.Xa)||d>=g)return null;g=Math.floor(f*b.hb);b=Math.ceil(f*b.rb);if(c>=g&&c<b)return a;a=b-g;c=Math.round(((c-g)%a+a)%a+g);return{Ua:c,Va:d,kb:e}};
nr=function(a,b,c,d,e,f,g){var h=_.Ui,k=this;this.i=a;this.T=b||[];this.ha=h;this.ka=c;this.V=d;this.g=e;this.O=null;this.$=f;this.H=!1;this.loaded=new _.z.Promise(function(l){k.N=l});this.loaded.then(function(){k.H=!0});this.o="number"===typeof g?g:null;this.g&&this.g.Ef().addListener(this.j,this);this.j()};
......
package com.mints.street.adapter
import android.content.Context
import android.view.View
import com.alibaba.android.vlayout.LayoutHelper
import com.alibaba.android.vlayout.layout.GridLayoutHelper
import com.alibaba.android.vlayout.layout.LinearLayoutHelper
import com.fry.base.adapter.AbstractVLayoutBaseAdapter
import com.fry.base.adapter.BindingViewHolder
import com.mints.street.R
import com.mints.street.bean.MapStyleList
import com.mints.street.databinding.DialogMapContentItemBinding
import com.mints.street.databinding.DialogMapContentItemBindingImpl
import com.mints.street.databinding.ItemGridMapAdapterBinding
import me.goldze.mvvmhabit.utils.RxUtils
/**
* Created by 冯瑞雨 on 2021/8/9.
*/
class DialogMapContentAdapter(val context: Context, var list: List<String>?) :
AbstractVLayoutBaseAdapter<DialogMapContentItemBinding, List<String>>(context, list, 2) {
class DialogMapContentAdapter(val context: Context, var list: List<MapStyleList>?,
val onItemMapStyleChange:OnItemMapStyleChange?=null) :
AbstractVLayoutBaseAdapter<DialogMapContentItemBinding, List<MapStyleList>>(context, list, 2) {
override fun onBindViewHolder(
holder: BindingViewHolder<DialogMapContentItemBinding>,
position: Int) {
// holder.binding.
when(list?.get(position)?.img?:0){
1->holder.binding.image.setImageResource(R.mipmap.img_mapstyle_1)
2->holder.binding.image.setImageResource(R.mipmap.img_mapstyle_2)
3->holder.binding.image.setImageResource(R.mipmap.img_mapstyle_3)
4->holder.binding.image.setImageResource(R.mipmap.img_mapstyle_4)
}
if(list?.get(position)?.isSelected == true){
holder.binding.ivSelected.visibility = View.VISIBLE
}else{
holder.binding.ivSelected.visibility = View.GONE
}
RxUtils.onMultiClick(holder.binding.image){
if(list?.get(position)?.isSelected==true)return@onMultiClick
list?.forEach {
it.isSelected = false
}
list?.get(position)?.isSelected =true
onItemMapStyleChange?.onItemChange()
notifyDataSetChanged()
}
}
......@@ -34,4 +57,7 @@ class DialogMapContentAdapter(val context: Context, var list: List<String>?) :
override fun getLayoutId(viewType: Int) = R.layout.dialog_map_content_item
interface OnItemMapStyleChange{
fun onItemChange()
}
}
\ No newline at end of file
......@@ -5,21 +5,55 @@ import com.alibaba.android.vlayout.LayoutHelper
import com.alibaba.android.vlayout.layout.LinearLayoutHelper
import com.fry.base.adapter.AbstractVLayoutBaseAdapter
import com.fry.base.adapter.BindingViewHolder
import com.github.iielse.switchbutton.SwitchView
import com.mints.street.R
import com.mints.street.bean.MapStyleSortBean
import com.mints.street.databinding.DialogMapTailItemBinding
import com.mints.street.databinding.ItemGridMapAdapterBinding
/**
* Created by 冯瑞雨 on 2021/8/9.
*/
class DialogMapTailAdapter(val context: Context) :
AbstractVLayoutBaseAdapter<ItemGridMapAdapterBinding, List<String>>(context, null, 3) {
class DialogMapTailAdapter(val context: Context, private var mapStyleBean: MapStyleSortBean?,
val onDataChange:OnDataChange?=null) :
AbstractVLayoutBaseAdapter<DialogMapTailItemBinding, List<String>>(context, null, 3) {
override fun onBindViewHolder(
holder: BindingViewHolder<ItemGridMapAdapterBinding>,
holder: BindingViewHolder<DialogMapTailItemBinding>,
position: Int
) {
holder.binding.svRecommend.isOpened = mapStyleBean?.isRecommendedPlaces?:false
holder.binding.svStreetView.isOpened = mapStyleBean?.isStreetViewMap?:false
holder.binding.svRecommend.setOnStateChangedListener(object :
SwitchView.OnStateChangedListener {
override fun toggleToOn(view: SwitchView) {
mapStyleBean?.isRecommendedPlaces = !view.isOpened
view.isOpened = !view.isOpened
onDataChange?.onDataChange()
}
override fun toggleToOff(view: SwitchView) {
mapStyleBean?.isRecommendedPlaces = !view.isOpened
view.isOpened = !view.isOpened
onDataChange?.onDataChange()
}
})
holder.binding.svStreetView.setOnStateChangedListener(object :
SwitchView.OnStateChangedListener {
override fun toggleToOn(view: SwitchView) {
mapStyleBean?.isStreetViewMap = !view.isOpened
view.isOpened = !view.isOpened
onDataChange?.onDataChange()
}
override fun toggleToOff(view: SwitchView) {
mapStyleBean?.isStreetViewMap = !view.isOpened
view.isOpened = !view.isOpened
onDataChange?.onDataChange()
}
})
}
override fun getItemCount() = 1
......@@ -29,4 +63,7 @@ class DialogMapTailAdapter(val context: Context) :
override fun getLayoutId(viewType: Int) = R.layout.dialog_map_tail_item
interface OnDataChange{
fun onDataChange()
}
}
\ No newline at end of file
package com.mints.street.bean
/**
* Created by 冯瑞雨 on 2021/8/13.
*/
class MapStyleSortBean {
var isRecommendedPlaces:Boolean=false
var isStreetViewMap:Boolean=false
var mapStyleSort:List<MapStyleSort>?=null
}
class MapStyleSort{
var name:String?=null
var mapStyleList:List<MapStyleList>?=null
}
class MapStyleList{
var name:String?=null
var img:Int=0
var isSelected:Boolean?=false
}
\ No newline at end of file
......@@ -172,10 +172,11 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel
RxUtils.onMultiClick(binding.stbBgSearch) {
SearchMapActivity.startSearchMapActivity(this)
}
//点击地图样式
RxUtils.onMultiClick(binding.imageMapChangeIcon) {
context?.apply {
if (dialogMapStyle == null) {
dialogMapStyle = DialogMapStyle(this)
dialogMapStyle = DialogMapStyle(this,viewModel.mapStyleSortBean)
}
if (this@GoogleMapFragment.fragmentManager != null) {
dialogMapStyle?.show(this@GoogleMapFragment.fragmentManager!!, "dialogMapStyle")
......@@ -220,6 +221,34 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel
}
}
/**
* 开关街景按钮
*/
private fun changeVrButton(){
binding.webview.callHandler("changeVrButton"
,Gson().toJson(gps) ) {
}
}
/**
* 调用JS方法
* 开启景点
*/
private fun openScenics(){
binding.webview.callHandler("openScenics"
,Gson().toJson(gps) ) {
}
}
/**
* 调用JS方法
* 关闭景点
*/
private fun closeScenics(){
binding.webview.callHandler("closeScenics"
,null ) {
}
}
private fun initPosition() {
//定位
mLocationClient = LocationClient(context)
......@@ -284,6 +313,14 @@ class GoogleMapFragment() : BaseFragment<ActivityGoogleMapBinding, HomeViewModel
}
binding.scrollLayout.toggle(ScrollLayout.STATUS_CLOSE)
})
viewModel.mapStyleSortBean.observe(this, Observer {
it?.apply {
dialogMapStyle?.apply {
this.mapStyleBean = viewModel.mapStyleSortBean
}
}
})
}
override fun onDestroy() {
super.onDestroy()
......
......@@ -139,14 +139,14 @@ class HomeFragment() : BaseFragment<FragmentHomeBinding, HomeViewModel>(), Senso
)
}
RxUtils.onMultiClick(binding.imageMapChangeIcon) {
context?.apply {
if (dialogMapStyle == null) {
dialogMapStyle = DialogMapStyle(this)
}
if (this@HomeFragment.fragmentManager != null) {
dialogMapStyle?.show(this@HomeFragment.fragmentManager!!, "dialogMapStyle")
}
}
// context?.apply {
// if (dialogMapStyle == null) {
// dialogMapStyle = DialogMapStyle(this)
// }
// if (this@HomeFragment.fragmentManager != null) {
// dialogMapStyle?.show(this@HomeFragment.fragmentManager!!, "dialogMapStyle")
// }
// }
}
//点击热门景点
......
......@@ -249,4 +249,29 @@ class HomeViewModel(application: Application) : BaseViewModel(application) {
})
}
/**
* 获取地图展示样式
*/
val mapStyleSortBean = MutableLiveData<MapStyleSortBean>(getMapStyle())
fun getMapStyle():MapStyleSortBean?{
val assets = AppManager.getAppManager().currentActivity.assets
val stringBuilder = StringBuilder()
var mapBean: MapStyleSortBean? = null
try {
//通过管理器打开文件并读取
val bf = BufferedReader(
InputStreamReader(
assets.open("mapStyle.json")
)
)
var line: String?
while (bf.readLine().also { line = it } != null) {
stringBuilder.append(line)
}
mapBean = Gson().fromJson(stringBuilder.toString(), MapStyleSortBean::class.java)
} catch (e: Exception) {
KLog.e("读取assets文件下的json出问题")
}
return mapBean
}
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.util.DisplayMetrics
import android.view.*
import androidx.lifecycle.MutableLiveData
import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.vlayout.DelegateAdapter
import com.alibaba.android.vlayout.VirtualLayoutManager
......@@ -14,14 +15,18 @@ import com.mints.street.R
import com.mints.street.adapter.DialogMapContentAdapter
import com.mints.street.adapter.DialogMapHeadAdapter
import com.mints.street.adapter.DialogMapTailAdapter
import com.mints.street.bean.MapStyleSortBean
/**MutableList<?>
* @author 冯瑞雨
* @date 2020/6/18 14:27
* 弹出框
*/
class DialogMapStyle(var mContext: Context) : BaseDialogFragment() {
private var recycler: RecyclerView?=null
class DialogMapStyle(
var mContext: Context,
var mapStyleBean: MutableLiveData<MapStyleSortBean>?
) : BaseDialogFragment() {
private var recycler: RecyclerView? = null
private var vLayout: VirtualLayoutManager? = null
private var mAdapter: DelegateAdapter? = null
override fun onStart() {
......@@ -33,7 +38,7 @@ class DialogMapStyle(var mContext: Context) : BaseDialogFragment() {
window?.setLayout((dm.widthPixels * 0.7).toInt(), WindowManager.LayoutParams.MATCH_PARENT)
val params = window?.attributes
params?.gravity = Gravity.START
// params?.windowAnimations = R.style.EndDialogAnim
// params?.windowAnimations = R.style.EndDialogAnim
window?.attributes = params
window?.decorView?.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
......@@ -58,15 +63,28 @@ class DialogMapStyle(var mContext: Context) : BaseDialogFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
for (index in 1..3){
mAdapter?.addAdapter(DialogMapHeadAdapter(mContext, "google"))
mAdapter?.addAdapter(DialogMapContentAdapter(mContext, listOf("1","2","3")))
mapStyleBean?.value?.mapStyleSort?.forEach {
mAdapter?.addAdapter(DialogMapHeadAdapter(mContext, it.name))
mAdapter?.addAdapter(
DialogMapContentAdapter(mContext, it.mapStyleList,
object : DialogMapContentAdapter.OnItemMapStyleChange {
override fun onItemChange() {
mapStyleBean?.value = mapStyleBean?.value
}
})
)
}
mAdapter?.addAdapter(DialogMapHeadAdapter(mContext, "google"))
mAdapter?.addAdapter(DialogMapTailAdapter(mContext))
mAdapter?.addAdapter(DialogMapHeadAdapter(mContext, "地图设置"))
mAdapter?.addAdapter(
DialogMapTailAdapter(mContext, mapStyleBean?.value,
object : DialogMapTailAdapter.OnDataChange {
override fun onDataChange() {
mapStyleBean?.value = mapStyleBean?.value
}
})
)
}
......
......@@ -17,11 +17,12 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@mipmap/vip_google_bg"
android:layout_width="105dp"
android:layout_height="64dp"
tools:src="@mipmap/vip_google_bg"
/>
<ImageView
android:id="@+id/iv_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@id/image"
......@@ -35,8 +36,9 @@
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_121B32"
tools:text="天地图卫星"
android:textColor="@color/color_505050"
android:textSize="12dp"
tools:text="谷歌卫星混合"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
......
......@@ -5,6 +5,7 @@
android:layout_height="match_parent"
android:background="@color/white">
<androidx.recyclerview.widget.RecyclerView
android:paddingTop="30dp"
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
......
......@@ -44,7 +44,6 @@
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
app:isOpened="true"
android:layout_marginRight="10dp"
app:layout_constraintTop_toTopOf="@id/recommend"
app:layout_constraintBottom_toBottomOf="@id/recommend"
......@@ -57,7 +56,6 @@
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_alignParentEnd="true"
app:isOpened="true"
android:layout_marginRight="10dp"
app:layout_constraintTop_toTopOf="@id/street_view"
app:layout_constraintBottom_toBottomOf="@id/street_view"
......
......@@ -20,6 +20,7 @@
<color name="color_E6E6E6">#E6E6E6</color>
<color name="color_555">#555555</color>
<color name="color_8F6D21">#8F6D21</color>
<color name="color_505050">#505050</color>
<color name="color_0000">#00000000</color>
<color name="color_60000000">#60000000</color>
<color name="color_2B3238">#2B3238</color>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment