无法使用google textsearch到位api

时间:2016-02-01 13:00:37

标签: google-maps google-maps-api-3 google-places-api

我想使用谷歌地方库api中没有地图的textSearch方法。我有经度,纬度,地名的名称,我想搜索。现在我只想将请求发送到谷歌并使用结果。我已包含脚本

<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?&libraries=places"></script>

但我现在必须使用PlaceService,为此我认为我需要在我的应用中包含我不想要的地图。

var service = new google.maps.places.PlacesService(map);
service.textSearch(request, callback);

我只需要用经度,纬度和半径搜索这个地方。我已经尝试通过生成网址并发送ajax请求直接发出请求。但是它返回

No 'Access-Control-Allow-Origin' header is present on the requested resource

如何搜索我的余烬应用中的文字?

2 个答案:

答案 0 :(得分:0)

PlaceService constuctor需要一个google.Maps.Map对象或一个HTML div(它不是一个地图,但它必须有一个显示警告等的地方)。 p>

  

PlacesService(attrContainer: HTMLDivElement | Map)创建一个新的PlacesService实例,用于在指定的容器中呈现属性。

答案 1 :(得分:0)

使用Places-Library不需要地图。

打印结果(没有地图)时,您必须:

  1. 显示google-logo:https://developers.google.com/maps/documentation/javascript/places#LogoRequirements
  2. 打印属性(如果有)。因此,您必须提供一个节点作为service = new google.maps.places.PlacesService( document.getElementById('attributions')//attributions-container ); //send a query service.textSearch({query:'Stackoverflow'}, function(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { for (var i = 0; i < results.length; i++) { var item=document.createElement('li'); item.appendChild(document.createTextNode(results[i].name)); document.getElementById('results').appendChild(item); } } });
  3. 的参数

    &#13;
    &#13;
    <script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places"></script>
    <strong>Search for &quot;Stackoverflow&quot; </strong><br/>
    
    <!-- google-logo -->
    <img src="http://developers.google.com/places/documentation/images/powered-by-google-on-white.png"/>
    
    <ul id="results"></ul>
    
    <!-- attributions-container -->
    <div id="attributions" style="background:#f1f1f1">
      You'll see here the attributions when there are any
    </div>
    &#13;
    {{1}}
    &#13;
    &#13;
    &#13;