- 注册百度地图开发者账号,获取百度地图的appkey,下载相关的地图jar包
- 实现融云地理位置点击事件,我是在会话页面设置的监听事件,具体方法可以参考融云的demo
public class ConversationActivity extends AppCompatActivity implements RongIM.LocationProvider,RongIM.ConversationBehaviorListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversaction);
initview();
}
private void initview(){
RongIM.setLocationProvider(this);
RongIM.setConversationBehaviorListener(this);
/**
* 位置信息提供者:LocationProvider 的回调方法,打开第三方地图页面。
*
* @param context 上下文
* @param callback 回调
*/
@Override
public void onStartLocation(Context context, LocationCallback callback) {
/**
* 在这里写相应的代码,跳转到自己地图activity
*/
Tool.mLastLocationCallback=callback;
Intent intent = new Intent(context, MapLocationActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
/**
* 会话页面监听事件,这里有消息点击事件,头像点击事件,开发者如果有需要的可以自己实现。
*/
@Override
public boolean onMessageClick(Context arg0, View arg1, Message arg2) {
if (arg2.getContent() instanceof LocationMessage) {
Intent intent = new Intent(ConversationActivity.this, MapLocationActivity.class);
intent.putExtra("location", arg2.getContent());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
return false;
}
@Override
public boolean onMessageLinkClick(Context arg0, String arg1) {
return false;
}
@Override
public boolean onMessageLongClick(Context arg0, View arg1, Message arg2) {
return false;
}
@Override
public boolean onUserPortraitClick(Context arg0, Conversation.ConversationType arg1,
UserInfo arg2) {
return false;
}
@Override
public boolean onUserPortraitLongClick(Context arg0, Conversation.ConversationType arg1,
UserInfo arg2) {
return false;
}
}
- 新建MapLocationActivity实现地图绘制定位等功能
package htf.scme.org.Activity
import android.graphics.Point
import android.location.Location
import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.KeyEvent
import android.view.MotionEvent
import android.view.View
import android.widget.AdapterView
import android.widget.ListView
import android.widget.RelativeLayout
import android.widget.TextView
import com.baidu.location.BDLocation
import com.baidu.location.BDLocationListener
import com.baidu.location.LocationClient
import com.baidu.location.LocationClientOption
import com.baidu.mapapi.map.BaiduMap
import com.baidu.mapapi.map.MapStatusUpdate
import com.baidu.mapapi.map.MapStatusUpdateFactory
import com