| | |
| | | import android.view.View |
| | | import android.widget.Toast |
| | | import androidx.core.content.ContextCompat |
| | | import cn.sinata.rxnetty.LogHelper |
| | | import cn.sinata.xldutils.utils.LanguageUtil |
| | | import com.google.android.gms.common.api.ApiException |
| | | import com.google.android.gms.common.util.CollectionUtils.listOf |
| | |
| | | return aMap.addPolyline(options) |
| | | } |
| | | |
| | | fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng?>?): Polyline? { |
| | | val options = PolylineOptions().addAll(latLngs!!).width(20f) |
| | | .color(ContextCompat.getColor(context, R.color.quantum_googgreen500)) |
| | | fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng>): Polyline { |
| | | return drawLine(context, aMap, latLngs, R.color.quantum_googgreen500) |
| | | } |
| | | |
| | | fun drawLine(context: Context, aMap: ConsumerGoogleMap, latLngs: List<LatLng>, colorRes: Int): Polyline { |
| | | val options = PolylineOptions().addAll(latLngs).width(20f) |
| | | .color(ContextCompat.getColor(context, colorRes)) |
| | | return aMap.addPolyline(options) |
| | | } |
| | | |
| | |
| | | "&waypoints=" + centerStr + |
| | | "®ion=" + language + |
| | | "&key=" + Const.google_key |
| | | |
| | | getClient(url) { |
| | | val googleBean = Gson().fromJson<GoogleRouteBean>(it, GoogleRouteBean::class.java) |
| | | if (googleBean.routes.isNullOrEmpty()) { |
| | | LogHelper.logRecord("规划路线为空") |
| | | return@getClient |
| | | } |
| | | val bean = googleBean.routes.first() |
| | |
| | | .url(url) |
| | | .method("GET", null) |
| | | .build() |
| | | LogHelper.logRecord("请求谷歌服务器 $url") |
| | | val subscribe = Observable.just(request) |
| | | .map { request -> client.newCall(request).execute() } |
| | | .map { request -> client.newCall(request).execute().body()?.string() ?: "" } |
| | | .retry(retryCount.toLong()) // 最多额外重试 3 次(加上首次共 4 次尝试) |
| | | .subscribeOn(Schedulers.io()) |
| | | .observeOn(AndroidSchedulers.mainThread()) |
| | | .subscribe({ |
| | | try { |
| | | function(it.body()?.string() ?: "") |
| | | if (it.isEmpty()) { |
| | | LogHelper.logRecord("请求谷歌服务器成功 获取结果异常为空") |
| | | return@subscribe |
| | | } |
| | | function(it) |
| | | LogHelper.logRecord("请求谷歌服务器成功") |
| | | } catch (e: Exception) { |
| | | e.printStackTrace() |
| | | LogHelper.logRecord("请求谷歌服务器成功,获取结果异常报错 message:${e.message},stackTrace:${e.stackTraceToString()}") |
| | | } |
| | | }, { throwable -> throwable.printStackTrace() }) |
| | | }, { throwable -> |
| | | throwable.printStackTrace() |
| | | LogHelper.logRecord("请求谷歌服务器异常报错 message:${throwable.message},stackTrace:${throwable.stackTraceToString()}") |
| | | }) |
| | | } |
| | | |
| | | /*** |