首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >autolink:地图是如何工作的

autolink:地图是如何工作的
EN

Stack Overflow用户
提问于 2012-01-07 05:50:49
回答 1查看 6.6K关注 0票数 7

我使用antroid:autoLink= TextView的“map”属性来映射并找到与该文本视图相关联的地址。

但是它的行为很精明,只找到了的一些地址。下面是我正在尝试的代码:

代码语言:javascript
复制
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <TextView
        android:id="@+id/textViewautoLink"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/autolinktext"
        android:autoLink="map"></TextView>
</LinearLayout>

这是我的strings.xml

代码语言:javascript
复制
strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="autolinktext">1600 Amphitheatre Parkway, Mountain View, CA 94043 </string>
</resources>

问题是:

假设我正在写上面的字符串,即1600AmphitheaParkway,山景城,CA 94043,那么它的工作状态很好,textView的颜色会变蓝,当我点击它时,它会搜索地图上的地址。

当我把这个地址改为:1600AmphitheaParkway,孟买,在,它也显示了同样的东西,并试图搜索地址,但由于地址是错误的,它找不到它。没事的。

但是当我写其他地址时,比如:600波段站,孟买,在

1)文本视图不是蓝色的

2)它似乎是不可点击的

因为它是不可点击的,所以它找不到地址。

我正在搜索谷歌,但没有任何理由这样做。我也想知道

有写这个地图地址的格式吗?

另外,android是如何知道地址是有效的还是不正确的,就像我用相同的格式写了相同的地址一样,只是更改了字符串,结果是一个地址是可点击的,而另一个地址则不是。

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-07 06:30:20

下面是从matcher中选出的评论

  1. 为街道号码(不支持“One Microsoft Way”)查找一个1-5位数的数字,
  2. 忽略前面的“#”,Suite,Ste,Rm
  3. 查找两个或更多单词(最多5个?)(北弗兰克劳埃德赖特大道)

注:“北山街的圆圈”有六个单词,一个较低的'at‘--允许at,by,of,in,and,.

  • ,如果一个单词以小写字母开头,则不匹配

允许:。-#/( 1/2)‘“

  • 查找一个或两个分隔符来表示可能的第二个addr行和城市名称。

查找全州名称,或述明两个字母和/或邮政编码(5或9位数字),

  • 现在查找街道后缀,无论是完整的还是缩写的,如果有星号

,可以选择's‘。

资料来源: CacheBuilder.cpp.要获得更多信息,您可以在CacheBuilder::FindPartialAddress中查看webviewcore的确切算法。

据我所知,从代码中只能看到以LleY、NneX、RCade、VEnue、LAMEDA、aYoU等结尾的街道名.是匹配的。在您的例子中,带站不匹配在美国常见的街道名称结尾

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8767721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档