package com.fanghua.driver.ui.main
|
|
import android.content.Intent
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.getString
|
import com.amap.api.services.core.PoiItem
|
import com.amap.api.services.poisearch.PoiResult
|
import com.amap.api.services.poisearch.PoiSearch
|
import com.fanghua.driver.R
|
import com.fanghua.driver.base.MyApplication
|
import com.fanghua.driver.base.MyBaseActivity
|
import com.fanghua.driver.base.gaode.AMapKit
|
import com.fanghua.driver.bean.BaseBean
|
import com.fanghua.driver.bean.StringBean
|
import com.fanghua.driver.netUtls.Api
|
import com.fanghua.driver.netUtls.callNet
|
import com.fanghua.driver.netUtls.getMapByAny
|
import com.fanghua.driver.ui.main.add_order.OrderHomeActivity
|
import com.fanghua.driver.ui.main.add_order.SearchSiteActivity
|
import com.fanghua.driver.utils.PhoneCheckUtil
|
import kotlinx.android.synthetic.main.activity_add_order.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.startActivityForResult
|
import org.jetbrains.anko.toast
|
|
class AddOrderActivity: MyBaseActivity() {
|
override fun setContentView() {
|
setContentView(R.layout.activity_add_order)
|
}
|
|
private var startLat = 0.0
|
private var startLon = 0.0
|
private var endLat = 0.0
|
private var endLon = 0.0
|
|
override fun initView() {
|
setTitleText("下单")
|
getStartAddress()
|
}
|
|
override fun setOnclick() {
|
tv_sure.clickDelay {
|
val phone = et_phone.getString()
|
if (phone.isEmpty()){
|
toast("请输入手机号")
|
return@clickDelay
|
}
|
if (!PhoneCheckUtil.phoneCheck(phone)){
|
toast("手机号格式错误")
|
return@clickDelay
|
}
|
if (startLat == 0.0){
|
toast("请选择起点")
|
return@clickDelay
|
}
|
val map = getMapByAny()
|
map["phone"] = phone
|
map["startAddress"] = tv_start.text.toString()
|
map["startLat"] = startLat
|
map["startLng"] = startLon
|
if (endLat!=0.0){
|
map["endAddress"] = tv_end.text.toString()
|
map["endLat"] = endLat
|
map["endLng"] = endLon
|
}
|
val name = et_name.text.toString()
|
if (name.isNotEmpty())
|
map["userName"] = name
|
callNet(Api.driverAddOrder,map){
|
var bean = gson.fromJson<StringBean>(it, StringBean::class.java)
|
if (bean.resultUtil.code == 10000){
|
if (bean.resultUtil.data.isNullOrEmpty())
|
startActivity<OrderHomeActivity>()
|
else
|
startActivity<TripActivity>("orderId" to bean.resultUtil.data)
|
toast("下单成功")
|
finish()
|
}else
|
toast(bean.resultUtil.msg)
|
}
|
}
|
tv_start.setOnClickListener {
|
startActivityForResult<SearchSiteActivity>(1,"type" to "1")
|
}
|
tv_end.setOnClickListener {
|
startActivityForResult<SearchSiteActivity>(2,"type" to "2")
|
}
|
}
|
|
private fun getStartAddress() {
|
if (MyApplication.aMapLocation == null) {
|
return
|
}
|
AMapKit.searchPoint(this,MyApplication.aMapLocation!!.latitude,MyApplication.aMapLocation!!.longitude,object :PoiSearch.OnPoiSearchListener{
|
override fun onPoiSearched(p0: PoiResult?, p1: Int) {
|
if (p0?.pois!!.size > 0) {
|
tv_start.text = p0.pois[0].title
|
startLat = p0.pois[0].latLonPoint.latitude
|
startLon = p0.pois[0].latLonPoint.longitude
|
}
|
}
|
|
override fun onPoiItemSearched(p0: PoiItem?, p1: Int) {
|
}
|
})
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == RESULT_OK&&data!=null){
|
if (requestCode == 1){
|
startLat = data.getDoubleExtra("lat",0.0)
|
startLon = data.getDoubleExtra("lon",0.0)
|
tv_start.text = data.getStringExtra("name")
|
}else{
|
endLat = data.getDoubleExtra("lat",0.0)
|
endLon = data.getDoubleExtra("lon",0.0)
|
tv_end.text = data.getStringExtra("name")
|
}
|
}
|
}
|
}
|