在我的公司网站上,我使用Google地图API。我的问题是,当我进行文本搜索时,它在Google地图上的显示效果并不完全相同。 以下是我从API获得的屏幕截图以及预期结果之一:
What i have in my Google map api
因此,在第一个屏幕上,我的标记是正确的,但图标和公司是Cap Enfant&#39 ;,同一建筑物内的公司。 在第二个,这正是我想要实现的......
我使用了Google place api。因此,由于谷歌地图上的文本搜索给了我正确的结果,我尝试使用Textsearch api,但我得到的结果与谷歌地方API相同。 通过textsearch,我找到了我的公司(我设置了一个小半径,以确保只找到我的公司,这没关系),只是图标不好。
注意:在Google地图上,当我放大位置时,会显示Cap Enfant但不会显示我的公司(LTTD咨询)..
所以我的问题是:有没有办法在我的api中以与谷歌地图文本搜索相同的方式显示?
这是我的代码:
var map;
function initMap() {
var lttd = new google.maps.LatLng(48.9359628, 2.3051106);
map = new google.maps.Map(document.getElementById('siegeMap'), {
zoom: 17
});
var request = {
location: lttd,
radius: 500,
query: 'Consultant'
};
service = new google.maps.places.PlacesService(map);
var infowindow = new google.maps.InfoWindow();
service.textSearch(request, callback);
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var max_iteration = (results.length < 2) ? results.length : 2;
var resultCount = 0;
for (var i = 0; i < results.length; i++) {
if (google.maps.geometry.spherical.computeDistanceBetween(results[i].geometry.location, lttd) < request.radius) {
console.log(results[i]);
var request2 = {
placeId: results[i].place_id
};
service = new google.maps.places.PlacesService(map);
service.getDetails(request2, detailCallback);
resultCount++;
}
}
map.panTo(results[0].geometry.location);
}
}
}
function detailCallback(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
title: 'LTTD Consulting',
types : ['Consultant'] | ['Consultant informatique'] |['informatique'],
position: place.geometry.location,
name:place.name
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
}
感谢您的帮助!
答案 0 :(得分:0)
您期望的屏幕截图看起来像是maps.google.com的屏幕截图。 places API不会创建您在屏幕截图中看到的UI组件。但是,您可以自己创建它。您只需要自己编写代码即可。这样做的好处是,您可以随心所欲地查看它,因为您提供的是代码。您可以从地点详细信息请求获取该地点的所有信息,例如电话号码,网站,营业时间等。请在此处查看我们的地方详情文档:
https://developers.google.com/maps/documentation/javascript/places#place_details
您可以使用API提供的信息放入像maps.google.com这样的UI组件。
还有其他几个使用Places API的示例,您可以在此处查看。其中一些具有自定义UI组件,如果您选择这样做,您可以在构建自己的组件时参考:
https://developers.google.com/maps/documentation/javascript/examples/#places
我希望这有帮助!