在 Google Maps Places API 中更改默认文本“输入位置”

Posted

技术标签:

【中文标题】在 Google Maps Places API 中更改默认文本“输入位置”【英文标题】:Change default text "Enter a Location" In Google Maps Places API 【发布时间】:2012-03-11 20:38:07 【问题描述】:

我在整个互联网上寻找答案,我发现最接近答案的是另一个 Stack Overflow 问题,这里:How do i change the default text in Google Maps API Places Autocomplete

问题在于,要么 OP 的要求与我的要求不完全相同,要么他们没有明确说明是否有。

我正在寻找一种方法来在文本输入字段中采用默认的“输入位置”,并将其替换为其他内容同时保持相同的功能。即让文本在焦点上消失,如果没有输入文本,则在失去焦点时重新出现。

在我目前的尝试中,我尝试使用 jQuery 插件替换文本。它在页面加载时以视觉方式工作,但是当单击时,“输入位置”会再次弹出,并在输入文本或输入失去焦点时消失(与预期的文本输入字段变为空白相反)。

谁能给我指点一下这里?

提前致谢。

【问题讨论】:

【参考方案1】:

只需设置input 元素的placeholder 属性,您将自动完成附加到您想要的任何内容:

<input type="text" placeholder="Some new text">

这在documentation中有详细说明:

默认情况下,自动完成服务创建的文本字段 包含标准占位符文本。要修改文本,请设置 输入元素的占位符属性。

【讨论】:

做到了。谢谢。我不敢相信我在页面底部错过了它。我想我没有使用正确的关键字进行搜索。 没问题,很高兴能帮上忙。您可能想对其进行测试,看看在不支持placeholder 属性(IE8 及以下)的浏览器中会发生什么。我不知道那里会发生什么。 有一个小问题,如果用户在字段中输入文本,然后将其删除,当它失去焦点时它会保持空白(而不是返回到我在 JQuery 中设置的默认值)。这并没有让我太困扰,但不是理想的情况。 @Douglas - 我想你可能不得不忍受它。当你初始化自动完成时,谁知道幕后发生了什么(默认占位符的行为不像原生占位符,所以它肯定会做一些事情)。除了坚持文档中列出的方法之外,您真的无能为力。 这在安卓应用中可行吗?

以上是关于在 Google Maps Places API 中更改默认文本“输入位置”的主要内容,如果未能解决你的问题,请参考以下文章

新的 Google API 密钥“Google Maps API v3”不适用于 Google Places API?

Google Maps Places API 不工作

在 Google Maps Places API 中更改默认文本“输入位置”

Google Maps Places API - 如何获取地名? [复制]

google.maps.places.Autocomplete 语言输出

CORS 和 Google Maps Places Autocomplete API 调用 [重复]