谷歌地图API文本搜索请求



我是javascript的新手,我正在做一个需要谷歌地图的项目。我需要使用文本搜索功能来查找附近的兽医请求,邮政编码不起作用,我有几个问题。

我需要API密钥才能使用服务场所吗?

我复制了谷歌地图的代码文档,但不理解回调函数,我不知道我做的事情是否有错。如果有人知道代码出了什么问题,我将非常感谢您的回复。

这是我的代码:

            <script src="https://maps.googleapis.com/maps/api/js?callback=ini&sensor=false&libraries=places"></script>
             <script type="text/javascript">
             var map;
             var vet= " veterinarys";

             ini();
                function ini()
                {
                    var mapOptions =
                    {
                        center: new google.maps.LatLng(37.7831, -122.4039 ),
                        zoom: 12,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    }
                    map = new google.maps.Map(document.getElementById("map"), mapOptions);
                    var request = 
                    {
                    radius: '500',
                    query: vet,
                    type: ['veterinary_care']
                    };
                   service = new google.maps.places.PlacesService(map);
                   service.textSearch(request, callback);
                }
                function callback(results, status) {
                if (status == google.maps.places.PlacesServiceStatus.OK) {
                for (var i = 0; i < results.length; i++) {
                    var place = results[i];
                    createMarker(results[i]);
                    }
                  }
                }
    </script>
  1. API键是可选的,但您必须注意这一点

谷歌地图JavaScript API不需要API键即可正常工作。但是,我们强烈建议您使用API Console键加载Maps API,该键允许您监控应用程序的Maps API使用情况。

  1. 如果异步加载资源,则脚本URL中的回调参数是必需的。在这种情况下,一旦加载谷歌地图脚本,它就会调用您的函数。在您开始使用它的情况下,您应该向<script>标记添加async属性,并从代码中删除直接的ini()函数调用。在这里,您可以找到回调参数的文档说明

  2. 您的代码不起作用,因为您指定了radius参数,该参数也需要指定location。如果您要将与mapOptions中的center参数相同的位置添加到请求对象,那么它应该会起作用。只需查看可用选项描述即可。

你从@Mihails Boturins的回答中得到了其余的帮助。我将回答你在上次评论中提出的问题。

您的代码中没有定义这样的createMarker函数。你必须像这个一样创建这个函数

相关内容

  • 没有找到相关文章

最新更新