use*_*318 3 licensing google-maps google-places-api
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places&language=pt-PT" type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
var request = {
placeId: 'ChIJO_PkYRozGQ0R0DaQ5L3rAAQ'
};
service = new google.maps.places.PlacesService(document.getElementById('places'));
service.getDetails(request, callback);
function callback(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
console.log(place);
}
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body> <div id="places"></div> </body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的代码运行良好,但是我不知道为什么需要使用
PlacesService(document.getElementById('some id'));
Run Code Online (Sandbox Code Playgroud)
如果我只使用PlacesService();我会得到一个错误。html_attributions为none:html_attributions: Array[0]length: 0
那么,我的代码是否还可以,还是应该怎么办?
小智 5
(如果6个月后仍未弄清),您的代码将起作用,并应遵守Google关于PlacesService的政策。
根据我的理解,“归因”是将信息的来源归因于特定合作伙伴的某种信息,例如,Yelp的评论(我不知道他们是否与Yelp合作,但这就是想法)。显然,合作伙伴希望信息的最终用户知道谁提供了信息。
这个想法是,当您使用PlacesService执行搜索时,如果有附加的地图,它将自动呈现“属性”。因此,如果您没有地图,该库将尝试将属性呈现到html节点中。隐藏该节点(或地图)违反了策略。
重要的是要注意,html_attributions使用库时,数组不一定在所有情况下都为空,但是只要您在DOM中提供可见的节点,就可以了,因为如果库是自动的,则库会自动使用属性来填充节点那里。