我想在我的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();
}
}
});
答案 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吗?
你似乎在问一个非常基本的问题。