gpt4 book ai didi

performance - 我可以减少 Google Maps JavaScript API v3 中的请求量吗?

转载 作者:行者123 更新时间:2023-12-02 04:58:40 24 4
gpt4 key购买 nike

我调用 2 个地点。从一个 xml 文件中,我得到了一个位置的经度和纬度。首先是最近的咖啡馆,然后是最近的学校。

$.get('https://maps.googleapis.com/maps/api/place/nearbysearch/xml?
location='+home_latitude+','+home_longtitude+'&rankby=distance&types=cafe&sensor=false&key=X',function(xml)
{
verander($(xml).find("result:first").find("geometry:first").find("location:first").find("lat").text(),$(xml).find("result:first").find("geometry:first").find("location:first").find("lng").text());
}
);

$.get('https://maps.googleapis.com/maps/api/place/nearbysearch/xml?
location='+home_latitude+','+home_longtitude+'&rankby=distance&types=school&sensor=false&key=X',function(xml)
{
verander($(xml).find("result:first").find("geometry:first").find("location:first").find("lat").text(),$(xml).find("result:first").find("geometry:first").find("location:first").find("lng").text());
}
);

但如您所见,我执行了函数 verander(latitude,longtitude) 两次。

function verander(google_lat, google_lng)
{
var bryantPark = new google.maps.LatLng(google_lat, google_lng);
var panoramaOptions =
{
position:bryantPark,
pov:
{
heading: 185,
pitch:0,
zoom:1,
},
panControl : false,
streetViewControl : false,
mapTypeControl: false,
overviewMapControl: false ,
linksControl: false,
addressControl:false,
zoomControl : false,
}
map = new google.maps.StreetViewPanorama(document.getElementById("map_canvas"), panoramaOptions);
map.setVisible(true);
}

是否可以在一个请求中推送这两个位置(可能通过数组)?我知道这听起来很愚蠢,但我真的很想知道它们是否是减少这些谷歌地图请求的后门。

FTR:这是对 Google 的请求:

在适用于 Maps API 的使用限制的上下文中,什么构成“ map 加载”?在以下情况下发生单个 map 加载:

  • 一个。当网页或应用程序加载 map 时,使用 Maps JavaScript API(V2 或 V3)显示 map ;

  • b。还未显示 map 的网页或应用程序使用 Maps JavaScript API(V2 或 V3)显示街景全景图;

  • c。加载 Maps API for Flash 的 SWF 由网页或应用程序加载;

  • d.从静态 map API 发出一个 map 图像请求。

  • e.从街景图像 API 发出一个全景图像请求。

所以恐怕这是不可能的,但是嘿,我们随时欢迎您提出建议!

最佳答案

您的调用放置了两次 api 并加载了两次街景。所以这是四个电话,但我认为如果您将其加载到一页上,他们只会将这两个街景视为一次。而且您的地方电话将是客户端,因此它们不会计入您的限制。

但是要回答您的问题,没有绕过双重负载的漏洞,因为您要向用户显示两个街景。

我会做的是在客户要求之前不加载任何东西。取而代之的是一些号召性用语类型的按钮,例如 <button onclick="loadStreetView('cafe')">Click here to see Nearby Cafe</button>单击时,他们将调用附近的搜索并加载街景。由于它只是根据客户请求,您的页面加载永远不会像您的网站被搜索引擎抓取时那样增加使用量。

有关这些使用限制的更多信息

Google Places API 与 map 有不同的用途。 https://developers.google.com/places/policies#usage_limits

  • Users with an API key are allowed 1 000 requests per 24 hour period
  • Users who have verified their identity through the APIs console are allowed 100 000 requests per 24 hour period. A credit card is required for verification, by enabling billing in the console. We ask for your credit card purely to validate your identity. Your card will not be charged for use of the Places API.

如果您验证自己,每天有 100,000 个请求。这很不错。

至于谷歌地图,https://developers.google.com/maps/faq#usagelimits

它说您每天会加载 25,000 个 map 。

In order to accommodate sites that experience short term spikes in usage, the usage limits will only take effect for a given site once that site has exceeded the limits for more than 90 consecutive days.

因此,如果您稍微过头一点,他们似乎就不会介意。


附注zoom:1 之后多了一个逗号和 zoomControl : false他们不应该在那里。在某些浏览器如 IE 中会导致错误。 var panoramaOptions = { ... } 之后还缺少分号和之前 map = new

关于performance - 我可以减少 Google Maps JavaScript API v3 中的请求量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17471220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com