天下之事,必先处之难,而后易之。
君临
知我者谓我心忧,不知我者谓我何求

第一部分:蹩脚的自动提示

来自:Google Places Autocomplete API

(1)API导入:

<script type="text/javascript"   src="http://maps.google.com/maps/api/js?sensor=true"></script>

(2)请求格式:

地方自动填充”请求采用以下格式的 HTTP 网址:

https://maps.googleapis.com/maps/api/place/autocomplete/output?parameters

如:https://maps.googleapis.com/maps/api/place/autocomplete/xml?input=Peter+Luger&types;=establishment&bounds;=40.606654,-74.036865|40.744655(城市范围之内的提示)

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types;=geocode&region=CA&language;=fr&sensor;=true&key;=AIzaSyAiFpFd85eMtfbvmVNEYuNds5TEF9FjIPI

(*关键字提示input=key,这个适合于url后台请求使用).

 (3)返回数据类型和参数说明:

  • json(建议)表示以 JavaScript 对象表示法 (JSON) 的形式输出
  • xml 表示以 XML 的形式输出
  • 您需要用某些参数来发起“位置自动填充”请求。根据网址的标准,所有参数均使用字符 & (&) 分隔。下面枚举了这些参数及其可能的值。

    必填参数

    • input– 要搜索的文本字符串。“地方”服务会根据此字符串返回候选的匹配结果,并按照它们的相关程度进行排列。
    • sensor – 表示发送“地方”请求的设备是否使用了位置传感器(如 GPS)来确定此请求中发送的位置。该值只能是 truefalse
    • key – 您的应用程序的 API 密钥。此密钥用于标识您的应用程序,以便进行配额管理。要创建 API 项目并获取密钥,请访问 API 控制台

    可选参数

  • offset – 输入字词中的字符位置,服务会在此位置上使用文本以进行预测。例如,如果输入为“Googl”且完成点为 3,则服务将会使用“Goo”进行匹配。通常,offset应设置为文本脱字符号的位置。如果未提供偏移,则服务将使用整个字词。
  • location – 您希望在其周围检索“地方”信息的纬度/经度。此参数必须是 google.maps.LatLng对象。
  • radius – 要在其范围内返回的“地方”结果的距离(以米为单位)。请注意,您可以将 radius 偏向结果设为指定的区域,但无法将结果完全限制在指定区域中。请参见下文的位置偏向
  • language – 返回结果时所使用的语言。请参见支持的区域语言列表。请注意,我们会经常更新支持的语言,因此该列表可能并不详尽。如果未提供语言,则“地方”服务将会尝试使用发送请求的域的本地语言。
  • types – 要返回的“地方”结果的类型。请参见下文的地方类型。如果未指定类型,则系统会返回所有类型。

第二部分:好用的自动提示

(1)js导入参数:

    在url上添加参数:libraries=places&v=3.8; 完整的如:

<script type="text/javascript"src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=true&v=3.8"></script>

(2)查看最新的API 版本,如当前的v=3.8;使用它提供的类如:google.maps.places.Autocomplete ,google.maps.places.AutocompleteOptions 等等。

(3)查看示例,编写options并绑定至输入框:

   i.创建autocomplete对象:

var defaultBounds =new google.maps.LatLngBounds(
  new google.maps.LatLng(-33.8902,151.1759),
  new google.maps.LatLng(-33.8474,151.2631));

var input = document.getElementById('searchTextField');//输入框字段
var options ={
  bounds: defaultBounds,
  types:['establishment']
};

autocomplete =new google.maps.places.Autocomplete(input, options);
 ii.设置监听,根据内容提示显示结果:
google.maps.event.addListener(autocomplete,'place_changed',function(){
  var place = autocomplete.getPlace();
  if(place.geometry.viewport){
    map.fitBounds(place.geometry.viewport);
  }else{
    map.setCenter(place.geometry.location);
    map.setZoom(17);
  }
  var image =new google.maps.MarkerImage(
      place.icon,new google.maps.Size(71,71),
      new google.maps.Point(0,0),new google.maps.Point(17,34),
      new google.maps.Size(35,35));
  marker.setIcon(image);
  marker.setPosition(place.geometry.location);

  infowindow.setContent(place.name);
  infowindow.open(map, marker);
});
以上只是提供个人提点记忆使用,具体使用参考API及google官方示例。

 

 

 

posted on 2012-04-04 17:51  boonya  阅读(873)  评论(0编辑  收藏  举报

我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。