LLLTTTTTT
来源:互联网 发布:淘宝优惠券怎么修改 编辑:程序博客网 时间:2024/06/05 10:08
package com.kesen.fire.views.activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.LocationSource;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.PolylineOptions;
import com.kesen.fire.R;
import com.kesen.fire.core.BaseToolbarActivity;
import butterknife.Bind;
/**
* Created by liqing on 17/3/9.
*/
public class LLLLTTT extends BaseToolbarActivity implements AMapLocationListener ,AMap.OnMapLoadedListener,LocationSource
,AMap.OnMarkerClickListener,AMap.InfoWindowAdapter {
public static String PROVENCE = "山东";public static String CITY_NAME = "青岛";public static double LATITUDE = 0.0;public static double LONGITUDE = 0.0;public static String POI_NAME = "未知";private LatLng location;AMap aMap;private Marker marker;//声明mLocationOption对象private AMapLocationClient mlocationClient;private AMapLocationClientOption mLocationOption;//声明回调监听器private OnLocationChangedListener mOnLocationChangedListener;private AMap.OnMapLoadedListener mOnMapLoadListener;@Bind(R.id.eqstr_map_bar)MapView mapView;@Overrideprotected void initViews(Bundle savedInstanceState) { //mapview mapView.onCreate(savedInstanceState); System.out.println("initViews"); System.out.println("initViews"); //初始化地图控制器对象 if (aMap == null) { aMap = mapView.getMap(); } // 设置定位监听 aMap.setLocationSource(this); //设置MapLoadedListener();回调 onMapLocated() //aMap.setOnMapLoadedListener(this); aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置默认定位按钮是否显示 aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false // 设置定位的类型为定位模式,参见类AMap。 aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE); // 设置为true表示系统定位按钮显示并响应点击,false表示隐藏,默认是false aMap.setMyLocationEnabled(true); aMap.setOnMapLoadedListener(this); mlocationClient = new AMapLocationClient(getApplicationContext()); mlocationClient.setLocationListener(this); // 绑定 Marker 被点击事件 //aMap.setOnMarkerClickListener(markerClickListener); aMap.setOnMarkerClickListener(this); //实现 InfoWindow 样式和内容,必须要先执行如下方法: aMap.setInfoWindowAdapter(this);//AMap类中
// mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
// mLocationOption.setOnceLocation(true);
//设置定位参数
mlocationClient.setLocationOption(mLocationOption);
mlocationClient.startLocation();
}@Overrideprotected void initListeners() {}@Overrideprotected void initData() { //setTitle(getString(R.string.equip_str));}
// mlocationClient = new AMapLocationClient(this);
////初始化定位参数
// mLocationOption = new AMapLocationClientOption();
////设置定位监听
// mlocationClient.setLocationListener(this);
//
// 定位成功后回调@Overridepublic void onLocationChanged(AMapLocation arg0) { if (arg0 != null && mOnLocationChangedListener != null) { if (arg0.getErrorCode() == 0 && arg0 != null) { //等于0是成功了 System.out.println("城市:" + arg0.getCity() + "电话区号" + arg0.getCityCode()); System.out.println("jingweidu" + arg0.getLatitude() + "wei" + arg0.getAltitude()); location = new LatLng(Double.valueOf(arg0.getLatitude()), Double.valueOf(arg0.getLongitude())); System.out.println("eslatlng-before==" + location); this.PROVENCE = arg0.getProvince(); this.CITY_NAME = arg0.getCity(); this.POI_NAME = arg0.getPoiName(); this.LATITUDE = arg0.getLatitude(); this.LONGITUDE = arg0.getLongitude(); //CameraUpdateFactory.newLatLngZoom(location, 13) aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 15)); } else { Log.d("tag", "onLocation2"); String errText = "定位失败," + arg0.getErrorCode() + ": " + arg0.getErrorInfo(); //showToast(errText); aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 13)); System.out.println("LLLLLTTTTT定位失败"); } }}@Overrideprotected int getLayoutId() { return R.layout.activity_equipstrength;}/** * 方法必须重写 */@Overrideprotected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapView.onSaveInstanceState(outState);}/** * 方法必须重写 */@Overrideprotected void onDestroy() { super.onDestroy(); mapView.onDestroy();
// eqStrParentPresenter.detachView();
// eqStrLeafPresenter.detachView();
// mQueuePresenter.detachView();
// presenter.detachView();
if (null != mlocationClient) {
mlocationClient.onDestroy();
}
}
//AMap.OnMapLoadedListener的回调@Overridepublic void onMapLoaded() { //地图加载完成后回调 :加载marker //绘制marker System.out.println("onMapLoaded()"); LatLngBounds bounds = new LatLngBounds .Builder() .include(location) .build(); aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10)); addMarkerToMap(location);
// if(mOnMapLoadListener!=null){
// System.out.println(“mOnMapLoadListener!=null”);
// LatLngBounds bounds = new LatLngBounds.Builder()
// .include(location).build();
// aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
// addMarkerToMap(location);
// }else{
// System.out.println(“mOnMapLoadListener====null”);
// }
// LatLngBounds bounds = new LatLngBounds.Builder()
// .include(location).build();
// aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
// addMarkerToMap(location);
System.out.println(“addMarkerToMap endddd”);
// 绘制曲线 aMap.addPolyline((new PolylineOptions()) .add(new LatLng(43.828, 87.621), new LatLng(45.808, 126.55)) .geodesic(true).color(Color.RED));}private void addMarkerToMap(LatLng mLatng) { // // Bitmap bitmap = convertViewToBitmap(view);
// marker =
// aMap.addMarker(new MarkerOptions()
// .position(mLatng)
// .icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
// .decodeResource(getResources(), R.drawable.es_marker_car)))
// .draggable(true));
System.out.println(“addMarkerToMap ssssss”);
System.out.println(“addMarkerToMap ssssss”);
marker =
aMap.addMarker(new MarkerOptions()
.position(new LatLng(31.47192, 120.275394))
.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
.decodeResource(getResources(), R.drawable.es_marker_car)))
.draggable(true));
}
//locationSource 提供供位置数据的接口。复写activate (激活定位) deactivate (停止定位)2个方法,实现@Overridepublic void activate(OnLocationChangedListener onLocationChangedListener) { //激活定位 mOnLocationChangedListener = onLocationChangedListener; if (mlocationClient == null) { System.out.println("activate =======>"); //初始化定位 mlocationClient = new AMapLocationClient(this); //设置定位监听 mlocationClient.setLocationListener(this); //初始化定位参数 mLocationOption = new AMapLocationClientOption(); //设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式 mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); //设置是否返回地址信息(默认返回地址信息) mLocationOption.setNeedAddress(true); //设置是否只定位一次,默认为false mLocationOption.setOnceLocation(true); //设置是否强制刷新WIFI,默认为强制刷新 mLocationOption.setWifiActiveScan(true); //设置是否允许模拟位置,默认为false,不允许模拟位置 mLocationOption.setMockEnable(false); //设置定位间隔,单位毫秒,默认为2000ms // mLocationOption.setInterval(2000); //给定位客户端对象设置定位参数 mlocationClient.setLocationOption(mLocationOption); //启动定位 mlocationClient.startLocation(); }}@Overridepublic void deactivate() { mOnLocationChangedListener = null; if (mlocationClient != null) { mlocationClient.stopLocation(); mlocationClient.onDestroy(); } mlocationClient = null;}@Overrideprotected void onPause() { super.onPause(); mapView.onPause(); deactivate();}//AMap.OnMarkerClickListener的回调@Overridepublic boolean onMarkerClick(Marker marker) { //调用 Marker 类的 showInfoWindow() 和 hideInfoWindow() 方法可以控制显示和隐藏。 System.out.println("onMarkerClick"); marker.showInfoWindow(); System.out.println("onMarkerClick marker.showInfoWindow()"); return true;}//点击Marker -->showInfoWindown -->implement InfoWindowAdapter去自定义infowindown@Overridepublic View getInfoWindow(Marker marker) { System.out.println("getInfoWindow"); View infoWindow = null; if (infoWindow == null) { infoWindow = LayoutInflater.from(this).inflate( R.layout.es_parent_popu, null); } render(marker, infoWindow); return infoWindow;}/** * 自定义infowinfow窗口 */public void render(final Marker marker, View view) {
//如果想修改自定义Infow中内容,请通过view找到它并修改
TextView title =(TextView)view.findViewById(R.id.title);
title.setText(“lqteam”);
TextView snippet =(TextView)view.findViewById(R.id.snippet);
String str =”I love you “;
snippet.setText(str);
ImageButton button =(ImageButton)view.findViewById(R.id.start_amap_app);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (marker!=null){
marker.hideInfoWindow();
}
}
});
// TextView title = (TextView) viewp.findViewById(R.id.title);
// title.setText(eqStrParentBeanA.names);//esNodeName
//
// TextView snippet = (TextView) viewp.findViewById(R.id.snippet);
// String str = “大队总数:”+ eqStrParentBeanA.firecount.dd+”\n”+”执勤中队总数:”+eqStrParentBeanA.firecount.zd+”,”+
// “备防人员总数:”+eqStrParentBeanA.firecount.staff+”\n”+”备防车辆总数:”+eqStrParentBeanA.firecount.carnum+”,”+
// “总载水量:”+eqStrParentBeanA.firecount.water+”吨\n”+”总泡沫量:”+eqStrParentBeanA.firecount.fram+”吨,”+”总干粉量:”+
// eqStrParentBeanA.firecount.powfoam+”吨\n”;
// snippet.setText(str);//marker.getSnippet()
// ImageButton button = (ImageButton) viewp
// .findViewById(R.id.start_amap_app);
// // 调起高德地图app
// button.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (currentMarker != null) {
// currentMarker.hideInfoWindow();
// }
// }
// });
}@Overridepublic View getInfoContents(Marker marker) { return null;}
}
- LLLTTTTTT
- C++的迭代器和指针
- 范数 norm
- sky3888 Register The Most Visually Stunning Evolution Slot
- Unit 4-Lecture 4: Random Variable
- Publish blog posts from R + knitr to WordPress
- LLLTTTTTT
- 基于模糊PID的直流电动机闭环调速系统设计
- ubuntu系统samba创建文件夹无权限
- 【Android】在SurfaceView上显示透明图片
- 河北再现百亿级房企面临破产 上万业主或将房财两空
- 【数据结构与算法】根据遍历结果构建二叉树
- sublimetext3 插件安装问题
- 线程组:ThreadGroup
- swift中用到?和!的含义