相关疑难解决方法(0)

使用js和谷歌地图api v3(地点库)解析地点照片

我正在开发一个网站,可以显示几个地方的照片。我得到的照片是这样的:

var photos = typeof place.photos !== 'undefined' ? place.photos[0].getUrl({ 'maxWidth': 100, 'maxHeight': 125 }) : '';
if (photos.length) {//...//}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我想显示照片时,它们的清晰度非常糟糕:

在此输入图像描述

注意:我用w3schools 幻灯片显示照片,并将照片设置如下:

var images = document.getElementById("PhotoFond").getElementsByTagName("img");
for (i=0; i<images.length; i++;) {

    if (!photosSlide[i]) {return;}
    images[n - 1].src = photosSlide[i];

}
Run Code Online (Sandbox Code Playgroud)

然而,当我去谷歌地图并找到同一张照片(链接到同一张照片)时,质量更好。

在此输入图像描述

我怎样才能有相同的分辨率?

javascript google-maps google-maps-api-3

3
推荐指数
1
解决办法
738
查看次数

我在哪里检索 photo_reference 值以发出 Google 地方信息照片请求?

从 Google 的Place Photos 文档中,我应该能够通过photo_reference向他们附近的搜索、雷达或地点详细信息服务发出请求来检索密钥。

我打自己的位置信息服务,和我收到的有10种元素的照片数组,但这些元素只包含heightwidthhtml_attribution键。我是否在这里遗漏了一些东西,或者他们的 API 在没有更新他们的文档的情况下发生了变化?

这是我对放置详细信息的请求,place响应在哪里:

export function placeDetailsFetchData(placeId) {
  return (dispatch) => {
    const request = { placeId };
    const service = new google.maps.places.PlacesService(document.createElement('div'));

    service.getDetails(request, (place, status) => {
      if (status == google.maps.places.PlacesServiceStatus.OK) {
        dispatch({
          type: PLACE_DETAILS_FETCH_DATA_SUCCESS,
          place
        });
      } else {
        dispatch(placeDetailsHasErrored(true));
      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

这是响应中的照片值:

[
  {
    "height": 3024,
    "html_attributions": [
      "<a href=\"https://maps.google.com/maps/contrib/109733975839515761188/photos\">Chris Bair</a>"
    ],
    "width": 4032
  },
  {
    "height": 2992, …
Run Code Online (Sandbox Code Playgroud)

google-maps google-api google-maps-api-3 google-places-api

2
推荐指数
1
解决办法
1030
查看次数