通过在android中传递区域名称来显示谷歌地图上的位置

时间:2014-02-05 07:08:06

标签: android

我想在我的Android应用中显示Google map v2,我希望在Google map V2上获取城市名称。当我在edittext控件中输入城市名称时。我有一个EditText,如果我在EditText中输入区域名称或城市名称,地图应该在我的谷歌地图中显示传递区域名称。我正在使用Google Map v2。任何帮助都将不胜感激。

这是关于按钮搜索的代码。

btSearch.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {


             try {
                    Geocoder geocoder = new Geocoder(CreateReminderActivity.this);  

                    List<Address> addresses;

                    String areaname = edLocation.getText().toString();

                    addresses = geocoder.getFromLocationName(areaname, 1);

                    if(addresses.size() > 0) {

                        double latitude= addresses.get(0).getLatitude();

                        double longitude= addresses.get(0).getLongitude();

                        insLat = latitude;

                        insLong = longitude;

                        String statename = addresses.get(0).getAdminArea();



                        googleMap.addMarker(new MarkerOptions()
                        .title(areaname)
                        .snippet("SNIPPET")
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
                        .anchor(0.0f, 1.0f) // Anchors the marker on the bottom left
                        .position(new LatLng(latitude, longitude)));

                        LatLng latLng = new LatLng(latitude, longitude);

                        googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

                     // Zoom in the Google Map
                     googleMap.animateCamera(CameraUpdateFactory.zoomTo(10));


                     Toast.makeText(getApplicationContext(), statename, 20).show();



                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }






        }
    });

2 个答案:

答案 0 :(得分:0)

您可以使用 Geocoder 来实现此目的。

  try {
        Geocoder geocoder = new Geocoder(this);  
        List<Address> addresses;
        addresses = geocoder.getFromLocationName("PLACE_NAME", 1);
        if(addresses.size() > 0) {
            double latitude= addresses.get(0).getLatitude();
            double longitude= addresses.get(0).getLongitude();
            map.addMarker(new MarkerOptions()
            .title("TITLE")
            .snippet("SNIPPET")
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
            .anchor(0.0f, 1.0f) // Anchors the marker on the bottom left
            .position(new LatLng(latitude, longitude)));
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

答案 1 :(得分:0)

您检查过https://developers.google.com/places/documentation/search吗?

你似乎在问一个非常基本的问题。

请检查:How to Search in Google Map Api V2 Android?