我需要在我的应用程序中添加一个文本框,我在其中键入地址(街道,城市),然后应用程序将显示符合此条件的标记。任何想法或教程?我的标记有用片段写的地址。抱歉我的英语不好。
答案 0 :(得分:3)
首先将文本框中的地址传递给下面的给定方法,该方法将为您提供该地址的纬度和经度,通过此纬度和经度,您可以将标记放在地图上。
//----Coding to get latitude and longitude from address----
private void searchFromLocationName(String name){
try {
Geocoder myGeocoder = new Geocoder(this);
List<Address> result = myGeocoder.getFromLocationName(name, 5);
if ((result == null)||(result.isEmpty()))
{
Toast.makeText(MapsActivity.this, "Sorry!No matches were found",Toast.LENGTH_LONG).show();
}
else{
String stringResult = "";
for (int i =0; i < result.size(); i++){
stringResult += "latitude: " + result.get(i).getLatitude() + "\n"
+ "longitude: " + result.get(i).getLongitude() + "\n";
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
并在代码段上显示地址: -
overlayItemsList.add(new OverlayItem(geoPoint, title, address));
答案 1 :(得分:0)
将Marker
放在ArrayList<Marker>
中,然后循环播放它们并更改可见性。
for (Marker marker : allMarkers) {
String snippet = marker.getSnippet();
boolean match = snippet.contains(myText);
marker.setVisible(match);
}