将谷歌地图链接到textview中的邮政编码

时间:2016-05-11 23:50:02

标签: android google-maps

我将屏幕划分为两个线性布局。在第一个布局中,我加载了谷歌地图上的自定义标记。在第二个我有格式

的地址
New York, NY-20202
Aberdeen, MD-21022

如何将这些邮政编码链接到我在第一个视图中加载的Google地图。我已经在地图上有这些标记。当用户点击任何邮政编码时,Google地图应该缩放到该标记。我尝试过linkify,但除非我有完整的地址,否则它不会链接。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

这是如何做到的:

  • 将您从中提取这些邮政编码的所有地址的latlng存储为zipcode字符串(例如:New York,NY-20202)作为您将显示的键(假设这些字符串对于您存储的每个位置都是唯一的)。

例如,它看起来像这样:

Map<String, LatLng> zipToLocationMap = new HashMap<>();

zipToLocationMap.put(YOURZIPSTRING, new LatLng(lat, lng));
  • 将文本视图添加到listview或布局并添加OnClickListener时,可以使文本视图可单击。然后在onClick方法中,获取textview的文本,并从zipToLocationMap获取存储在该textview上的LatLng对象。

获取LatLng对象后,使用该latlng坐标放大地图。

zipTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            latLng location = hashMap.get(zipTextView.getText());
            map.animateCamera(CameraUpdateFactory.newLatLngZoom(latlng, 2.5f)); 
            //first param is latlng object and second is zoom factor
        }
    });