Search in sources :

Example 1 with LatLonPoint

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);
            }
        }
    });
}
Also used : PoiResult(com.amap.api.services.poisearch.PoiResult) PoiItem(com.amap.api.services.core.PoiItem) LatLonPoint(com.amap.api.services.core.LatLonPoint) PoiSearch(com.amap.api.services.poisearch.PoiSearch) Bundle(android.os.Bundle) SimpleAdapter(android.widget.SimpleAdapter) Intent(android.content.Intent) SearchView(android.widget.SearchView) View(android.view.View) AdapterView(android.widget.AdapterView) ListView(android.widget.ListView) LatLonPoint(com.amap.api.services.core.LatLonPoint) SearchView(android.widget.SearchView) AdapterView(android.widget.AdapterView) HashMap(java.util.HashMap) Map(java.util.Map)

Example 2 with LatLonPoint

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;
}
Also used : ArrayList(java.util.ArrayList) LatLng(com.amap.api.maps2d.model.LatLng) LatLonPoint(com.amap.api.services.core.LatLonPoint)

Example 3 with LatLonPoint

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;
}
Also used : ArrayList(java.util.ArrayList) LatLng(com.amap.api.maps.model.LatLng) LatLonPoint(com.amap.api.services.core.LatLonPoint)

Example 4 with LatLonPoint

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);
}
Also used : WalkStep(com.amap.api.services.route.WalkStep) LatLonPoint(com.amap.api.services.core.LatLonPoint)

Example 5 with LatLonPoint

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);
    }
}
Also used : LatLng(com.amap.api.maps.model.LatLng) LatLonPoint(com.amap.api.services.core.LatLonPoint)

Aggregations

LatLonPoint (com.amap.api.services.core.LatLonPoint)24 LatLng (com.amap.api.maps.model.LatLng)5 PoiItem (com.amap.api.services.core.PoiItem)5 View (android.view.View)4 ArrayList (java.util.ArrayList)4 Intent (android.content.Intent)3 GeocodeSearch (com.amap.api.services.geocoder.GeocodeSearch)3 RecyclerView (android.support.v7.widget.RecyclerView)2 ImageView (android.widget.ImageView)2 PolylineOptions (com.amap.api.maps.model.PolylineOptions)2 LatLng (com.amap.api.maps2d.model.LatLng)2 GeocodeResult (com.amap.api.services.geocoder.GeocodeResult)2 RegeocodeResult (com.amap.api.services.geocoder.RegeocodeResult)2 PoiResult (com.amap.api.services.poisearch.PoiResult)2 PoiSearch (com.amap.api.services.poisearch.PoiSearch)2 TMC (com.amap.api.services.route.TMC)2 OnItemClickLisenter (com.jweihao.jdemo.utils.OnItemClickLisenter)2 Bundle (android.os.Bundle)1 Editable (android.text.Editable)1 TextWatcher (android.text.TextWatcher)1