0

我需要在我的应用程序中添加一个文本框,在其中输入地址(街道、城市),然后应用程序将显示满足此条件的标记。有什么想法或教程吗?我的标记有地址写在片段中。对不起我糟糕的英语。

4

2 回答 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

保留所有Markers,ArrayList<Marker>然后遍历它们并更改可见性。

for (Marker marker : allMarkers) {
    String snippet = marker.getSnippet();
    boolean match = snippet.contains(myText);
    marker.setVisible(match);
}
于 2013-06-13T09:55:12.490 回答