我需要在我的应用程序中添加一个文本框,在其中输入地址(街道、城市),然后应用程序将显示满足此条件的标记。有什么想法或教程吗?我的标记有地址写在片段中。对不起我糟糕的英语。
问问题
108 次
2 回答
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));
于 2013-06-13T07:46:41.243 回答
0
保留所有Marker
s,ArrayList<Marker>
然后遍历它们并更改可见性。
for (Marker marker : allMarkers) {
String snippet = marker.getSnippet();
boolean match = snippet.contains(myText);
marker.setVisible(match);
}
于 2013-06-13T09:55:12.490 回答