use of com.amap.api.services.core.LatLonPoint in project YourEyes by SevenLJY.
the class PoiSearchActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_poisearch);
sv_destination = (SearchView) findViewById(R.id.sv_destination);
lv_result = (ListView) findViewById(R.id.lv_result);
poiItems = new ArrayList<PoiItem>();
listItems = new ArrayList<Map<String, String>>();
//对搜索框的设置
//设置不自动缩小为图标
sv_destination.setIconifiedByDefault(false);
//显示搜索按钮
sv_destination.setSubmitButtonEnabled(true);
longitude = 0;
latitude = 0;
latitudeStatus = 0;
city = "";
//初始化定位
initLocation();
startLocation();
//搜索框搜索监听
sv_destination.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
//点击搜索时触发,将搜索结果展示在ListView中
for (int num = 0; num < listItems.size(); num++) {
listItems.get(num).clear();
}
listItems.clear();
if (city.length() != 0) {
//city值仍为""时无意义,搜索所得位置不在本城市,该处处理为不予显示
query = new PoiSearch.Query(s, "", city);
//设置每页展示20个结果
query.setPageSize(10);
//设置查询页码
query.setPageNum(0);
poiSearch = new PoiSearch(PoiSearchActivity.this, query);
//设置周边搜索的中心点以及半径,以定位的当前位置为中心点
poiSearch.setBound(new PoiSearch.SearchBound(new LatLonPoint(latitude, longitude), 3000));
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
@Override
public void onPoiSearched(PoiResult poiResult, int i) {
//搜索结果在列表中显示
if (i == 1000 && poiResult != null) {
poiItems = poiResult.getPois();
for (PoiItem item : poiItems) {
listItem = new HashMap<String, String>();
listItem.put("title", item.toString());
listItem.put("content", item.getCityName() + item.getAdName() + item.getSnippet());
listItem.put("latitude", Double.toString(item.getLatLonPoint().getLatitude()));
listItem.put("longitude", Double.toString(item.getLatLonPoint().getLongitude()));
listItems.add(listItem);
item.toString();
}
adapter = new SimpleAdapter(PoiSearchActivity.this, listItems, R.layout.array_poiitems, new String[] { "title", "content" }, new int[] { R.id.tv_title, R.id.tv_content });
lv_result.setAdapter(adapter);
} else {
ToastUtil.show(PoiSearchActivity.this, "无搜索结果 请检查关键字");
}
}
@Override
public void onPoiItemSearched(PoiItem poiItem, int i) {
//搜索结果回调,暂时不需使用
}
});
poiSearch.searchPOIAsyn();
} else {
ToastUtil.show(PoiSearchActivity.this, "正在获取定位信息 请稍候");
}
return false;
}
@Override
public boolean onQueryTextChange(String s) {
//搜索框文字改变时触发,暂不做优化
return false;
}
});
/**
* 为列表项单击事件添加监听
* 单击相应列表项时跳转到导航界面并将目的地传至导航界面
* */
lv_result.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Bundle data = new Bundle();
data.putDouble("latitude", Double.parseDouble(listItems.get(i).get("latitude")));
data.putDouble("longitude", Double.parseDouble(listItems.get(i).get("longitude")));
data.putDouble("myLatitude", latitude);
data.putDouble("myLongitude", longitude);
if (latitude == 0) {
ToastUtil.show(PoiSearchActivity.this, "您的定位信息出错,请检查是否打开了GPS");
} else {
Intent intent = new Intent(PoiSearchActivity.this, BasicWalkNaviActivity.class);
intent.putExtras(data);
startActivity(intent);
}
}
});
}
use of com.amap.api.services.core.LatLonPoint in project summer-android by cn-cerc.
the class AMapUtil method convertArrList.
/**
* 把集合体的LatLonPoint转化为集合体的LatLng
*/
public static ArrayList<LatLng> convertArrList(List<LatLonPoint> shapes) {
ArrayList<LatLng> lineShapes = new ArrayList<LatLng>();
for (LatLonPoint point : shapes) {
LatLng latLngTemp = AMapUtil.convertToLatLng(point);
lineShapes.add(latLngTemp);
}
return lineShapes;
}
use of com.amap.api.services.core.LatLonPoint in project LivingInCampus by DulCoder.
the class AMapServicesUtil method convertArrList.
public static ArrayList<LatLng> convertArrList(List<LatLonPoint> shapes) {
ArrayList<LatLng> lineShapes = new ArrayList<LatLng>();
for (LatLonPoint point : shapes) {
LatLng latLngTemp = AMapServicesUtil.convertToLatLng(point);
lineShapes.add(latLngTemp);
}
return lineShapes;
}
use of com.amap.api.services.core.LatLonPoint in project LivingInCampus by DulCoder.
the class BusRouteOverlay method getLastWalkPoint.
/**
* @param busStep
* @return
*/
private LatLonPoint getLastWalkPoint(BusStep busStep) {
List<WalkStep> walkSteps = busStep.getWalk().getSteps();
WalkStep walkStep = walkSteps.get(walkSteps.size() - 1);
List<LatLonPoint> lonPoints = walkStep.getPolyline();
return lonPoints.get(lonPoints.size() - 1);
}
use of com.amap.api.services.core.LatLonPoint in project LivingInCampus by DulCoder.
the class BusRouteOverlay method checkBusEndToNextBusStart.
/**
* checkBusToNextBusNoWalk 和这个类似
*
* @param busStep
* @param busStep1
*/
private void checkBusEndToNextBusStart(BusStep busStep, BusStep busStep1) {
LatLonPoint busLastPoint = getLastBuslinePoint(busStep);
LatLng endbusLatLng = AMapUtil.convertToLatLng(busLastPoint);
LatLonPoint busFirstPoint = getFirstBuslinePoint(busStep1);
LatLng startbusLatLng = AMapUtil.convertToLatLng(busFirstPoint);
if (!endbusLatLng.equals(startbusLatLng)) {
//
drawLineArrow(endbusLatLng, startbusLatLng);
}
}
Aggregations