Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_fiveworld
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_fiveworld
Commits
9b97659d
Commit
9b97659d
authored
Aug 05, 2021
by
fengruiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改百度SDK地图动画
修改百度SDK地图国内外的判断
parent
20f466f9
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
80 additions
and
18 deletions
+80
-18
map.json
app/src/main/assets/map.json
+11
-10
HomeFragment.kt
app/src/main/java/com/mints/street/main/home/HomeFragment.kt
+69
-8
No files found.
app/src/main/assets/map.json
View file @
9b97659d
...
@@ -106,6 +106,16 @@
...
@@ -106,6 +106,16 @@
},
},
"homePlaces"
:
{
"homePlaces"
:
{
"places"
:
[
"places"
:
[
{
"images"
:
[
"http://cdn.xinzhi.space/default/30FE64076B4C9E06F544BF175AC65983.jpg"
,
"http://cdn.xinzhi.space/default/DA8F94CCEAC8659BE383E49770ADD0E7.jpg"
,
"http://cdn.xinzhi.space/default/5522899728A44CFF8D44F92BA76A9E85.jpg"
],
"name"
:
"北京故宫博物馆"
,
"latitude"
:
39.913959
,
"longitude"
:
116.40399
},
{
{
"images"
:
[
"images"
:
[
"http://cdn.xinzhi.space/default/CBCAD69A2EC1401E479F0BFC36B69C4D.jpg"
,
"http://cdn.xinzhi.space/default/CBCAD69A2EC1401E479F0BFC36B69C4D.jpg"
,
...
@@ -126,16 +136,7 @@
...
@@ -126,16 +136,7 @@
"latitude"
:
28.192888
,
"latitude"
:
28.192888
,
"longitude"
:
112.968618
"longitude"
:
112.968618
},
},
{
"images"
:
[
"http://cdn.xinzhi.space/default/30FE64076B4C9E06F544BF175AC65983.jpg"
,
"http://cdn.xinzhi.space/default/DA8F94CCEAC8659BE383E49770ADD0E7.jpg"
,
"http://cdn.xinzhi.space/default/5522899728A44CFF8D44F92BA76A9E85.jpg"
],
"name"
:
"北京故宫博物馆"
,
"latitude"
:
39.913959
,
"longitude"
:
116.40399
},
{
{
"images"
:
[
"images"
:
[
"http://cdn.xinzhi.space/default/5BEF22B14C879F3F686F3EAE9AB7C508.jpg"
,
"http://cdn.xinzhi.space/default/5BEF22B14C879F3F686F3EAE9AB7C508.jpg"
,
...
...
app/src/main/java/com/mints/street/main/home/HomeFragment.kt
View file @
9b97659d
...
@@ -16,6 +16,8 @@ import com.baidu.location.LocationClient
...
@@ -16,6 +16,8 @@ import com.baidu.location.LocationClient
import
com.baidu.location.LocationClientOption
import
com.baidu.location.LocationClientOption
import
com.baidu.mapapi.map.*
import
com.baidu.mapapi.map.*
import
com.baidu.mapapi.model.LatLng
import
com.baidu.mapapi.model.LatLng
import
com.baidu.mapapi.search.core.SearchResult
import
com.baidu.mapapi.search.geocode.*
import
com.fry.base.base.BaseFragment
import
com.fry.base.base.BaseFragment
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.mints.street.BR
import
com.mints.street.BR
...
@@ -24,13 +26,13 @@ import com.mints.street.bean.MapBean
...
@@ -24,13 +26,13 @@ import com.mints.street.bean.MapBean
import
com.mints.street.bean.PositioningBean
import
com.mints.street.bean.PositioningBean
import
com.mints.street.databinding.FragmentHomeBinding
import
com.mints.street.databinding.FragmentHomeBinding
import
com.mints.street.manager.UmengManager
import
com.mints.street.manager.UmengManager
import
com.mints.street.utils.GPSConverterUtils
import
com.mints.street.widget.ScrollLayout
import
com.mints.street.widget.ScrollLayout
import
com.mints.street.widget.dialog.DialogUtils
import
com.mints.street.widget.dialog.DialogUtils
import
me.goldze.mvvmhabit.base.AppManager
import
me.goldze.mvvmhabit.base.AppManager
import
me.goldze.mvvmhabit.utils.KLog
import
me.goldze.mvvmhabit.utils.KLog
import
me.goldze.mvvmhabit.utils.RxUtils
import
me.goldze.mvvmhabit.utils.RxUtils
import
me.goldze.mvvmhabit.utils.SPUtils
import
me.goldze.mvvmhabit.utils.SPUtils
import
me.goldze.mvvmhabit.utils.ToastUtils
/**
/**
* Created by 冯瑞雨 on 2021/7/2.
* Created by 冯瑞雨 on 2021/7/2.
...
@@ -74,6 +76,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -74,6 +76,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
//设置定位数据的精度信息,单位:米
//设置定位数据的精度信息,单位:米
private
var
mCurrentAccracy
=
0f
private
var
mCurrentAccracy
=
0f
//当前地图放大缩小的级别
private
var
currentMapZoom
=
0F
// 是否首次定位
// 是否首次定位
private
var
isFirstLoc
=
true
private
var
isFirstLoc
=
true
private
var
myLocationData
:
MyLocationData
?
=
null
private
var
myLocationData
:
MyLocationData
?
=
null
...
@@ -102,6 +107,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -102,6 +107,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
override
fun
initData
()
{
override
fun
initData
()
{
super
.
initData
()
super
.
initData
()
geoCoder
()
Handler
().
postDelayed
({
isScrollLayoutClose
=
true
},
2000
)
Handler
().
postDelayed
({
isScrollLayoutClose
=
true
},
2000
)
RxUtils
.
onMultiClick
(
binding
.
stbBgSearch
)
{
RxUtils
.
onMultiClick
(
binding
.
stbBgSearch
)
{
SearchMapActivity
.
startSearchMapActivity
(
this
)
SearchMapActivity
.
startSearchMapActivity
(
this
)
...
@@ -137,7 +143,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -137,7 +143,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
// 默认 天安门
// 默认 天安门
val
center
=
LatLng
(
39.915071
,
116.403907
)
val
center
=
LatLng
(
39.915071
,
116.403907
)
// 默认 11级
// 默认 11级
val
zoom
=
1
1
.0f
val
zoom
=
1
4
.0f
builder
.
target
(
center
).
zoom
(
zoom
)
builder
.
target
(
center
).
zoom
(
zoom
)
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
...
@@ -160,21 +166,26 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -160,21 +166,26 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
binding
.
scrollLayout
.
toggle
(
ScrollLayout
.
STATUS_CLOSE
)
binding
.
scrollLayout
.
toggle
(
ScrollLayout
.
STATUS_CLOSE
)
}
}
}
}
}
}
override
fun
onMapStatusChangeFinish
(
status
:
MapStatus
?)
{
override
fun
onMapStatusChangeFinish
(
status
:
MapStatus
?)
{
KLog
.
a
(
"百度map"
,
"移动结束"
)
KLog
.
a
(
"百度map"
,
"移动结束"
)
currentLat
=
status
?.
target
?.
latitude
?:
0.0
currentLat
=
status
?.
target
?.
latitude
?:
0.0
currentLon
=
status
?.
target
?.
longitude
?:
0.0
currentLon
=
status
?.
target
?.
longitude
?:
0.0
currentMapZoom
=
status
?.
zoom
?:
0f
// 发起反地理编码请求
mSearch
.
reverseGeoCode
(
ReverseGeoCodeOption
().
location
(
status
?.
target
))
}
}
})
})
//使地图缩放级别增大一级
//使地图缩放级别增大一级
binding
.
imageIn
.
setOnClickListener
{
binding
.
imageIn
.
setOnClickListener
{
mBaiduMap
?.
setMapStatus
(
MapStatusUpdateFactory
.
zoomIn
()
)
mBaiduMap
?.
animateMapStatus
(
MapStatusUpdateFactory
.
zoomIn
(),
300
)
}
}
//使地图缩放级别减小一级
//使地图缩放级别减小一级
binding
.
imageOut
.
setOnClickListener
{
binding
.
imageOut
.
setOnClickListener
{
mBaiduMap
?.
setMapStatus
(
MapStatusUpdateFactory
.
zoomOut
()
)
mBaiduMap
?.
animateMapStatus
(
MapStatusUpdateFactory
.
zoomOut
(),
300
)
}
}
//历史影像
//历史影像
binding
.
imageMapHistory
.
setOnClickListener
{
binding
.
imageMapHistory
.
setOnClickListener
{
...
@@ -185,12 +196,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -185,12 +196,12 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
// 默认 天安门
// 默认 天安门
val
center
=
LatLng
(
mCurrentLat
,
mCurrentLon
)
val
center
=
LatLng
(
mCurrentLat
,
mCurrentLon
)
// 默认 11级
// 默认 11级
val
zoom
=
1
7
.0f
val
zoom
=
1
4
.0f
builder
.
target
(
center
).
zoom
(
zoom
)
builder
.
target
(
center
).
zoom
(
zoom
)
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
// 设置地图状态
// 设置地图状态
mBaiduMap
?.
setMapStatus
(
mapStatusUpdate
)
mBaiduMap
?.
animateMapStatus
(
mapStatusUpdate
,
300
)
}
}
//定位初始化
//定位初始化
initLocation
()
initLocation
()
...
@@ -229,6 +240,56 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -229,6 +240,56 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
mLocClient
?.
locOption
=
option
mLocClient
?.
locOption
=
option
mLocClient
?.
start
()
mLocClient
?.
start
()
}
}
/**
*逆地理编码
*/
val
mSearch
=
GeoCoder
.
newInstance
()
private
fun
geoCoder
(){
val
listener
:
OnGetGeoCoderResultListener
=
object
:
OnGetGeoCoderResultListener
{
override
fun
onGetGeoCodeResult
(
p0
:
GeoCodeResult
?)
{
}
override
fun
onGetReverseGeoCodeResult
(
reverseGeoCodeResult
:
ReverseGeoCodeResult
?)
{
if
(
reverseGeoCodeResult
==
null
||
reverseGeoCodeResult
.
error
!==
SearchResult
.
ERRORNO
.
NO_ERROR
)
{
//没有找到检索结果
return
}
else
{
if
(
"CN"
.
equals
(
reverseGeoCodeResult
.
addressDetail
.
countryCodeIso2
)){
if
(
currentMapZoom
>=
15
){
ToastUtils
.
showLong
(
"请充值升级会员"
)
var
zoom
=
13f
// 默认 天安门
val
center
=
LatLng
(
currentLat
,
currentLon
)
// 默认 11级
val
builder
=
MapStatus
.
Builder
()
builder
.
target
(
center
).
zoom
(
zoom
)
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
// 设置地图状态
mBaiduMap
?.
animateMapStatus
(
mapStatusUpdate
,
200
)
}
}
else
{
ToastUtils
.
showLong
(
"请充值升级会员"
)
var
zoom
=
13f
// 默认 天安门
val
center
=
LatLng
(
mCurrentLat
,
mCurrentLon
)
// 默认 11级
val
builder
=
MapStatus
.
Builder
()
builder
.
target
(
center
).
zoom
(
zoom
)
val
mapStatusUpdate
=
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
// 设置地图状态
mBaiduMap
?.
animateMapStatus
(
mapStatusUpdate
,
500
)
}
}
}
}
mSearch
.
setOnGetGeoCodeResultListener
(
listener
)
}
override
fun
onPause
()
{
override
fun
onPause
()
{
...
@@ -299,7 +360,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -299,7 +360,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
isFirstLoc
=
false
isFirstLoc
=
false
val
ll
=
LatLng
(
location
?.
latitude
?:
0.0
,
location
?.
longitude
?:
0.0
)
val
ll
=
LatLng
(
location
?.
latitude
?:
0.0
,
location
?.
longitude
?:
0.0
)
val
builder
=
MapStatus
.
Builder
()
val
builder
=
MapStatus
.
Builder
()
builder
.
target
(
ll
).
zoom
(
1
8
.0f
)
builder
.
target
(
ll
).
zoom
(
1
4
.0f
)
this
.
animateMapStatus
(
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
()))
this
.
animateMapStatus
(
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
()))
}
}
}
}
...
@@ -336,7 +397,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
...
@@ -336,7 +397,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding, HomeViewModel>(), SensorE
val
builder
=
MapStatus
.
Builder
()
val
builder
=
MapStatus
.
Builder
()
builder
.
target
(
latLng
).
zoom
(
18.5f
).
overlook
(-
21f
).
rotate
(
0f
)
builder
.
target
(
latLng
).
zoom
(
18.5f
).
overlook
(-
21f
).
rotate
(
0f
)
// 更新地图状态
// 更新地图状态
mBaiduMap
!!
.
setMapStatus
(
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
())
)
mBaiduMap
!!
.
animateMapStatus
(
MapStatusUpdateFactory
.
newMapStatus
(
builder
.
build
()),
300
)
//mMarker.setPosition(latLng)
//mMarker.setPosition(latLng)
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment