Performance 我可以减少Google Maps JavaScript API v3中的请求量吗?
我打两个电话。从一个xml文件中,我得到一个位置的长度和语言。先是最近的咖啡馆,然后是最近的学校Performance 我可以减少Google Maps JavaScript API v3中的请求量吗?,performance,google-maps,google-maps-api-3,request,Performance,Google Maps,Google Maps Api 3,Request,我打两个电话。从一个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) { verande
$.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函数(纬度,经度)
是否可以在一个请求中(可能通过阵列)推送这两个位置?我知道这听起来很傻,但我真的很想知道他们是否是减少谷歌地图请求的后门
FTR:这就是谷歌的请求:
在适用于Maps API的使用限制的上下文中,什么构成了“地图加载”?在以下情况下会发生单个贴图加载:
- a。当网页或应用程序加载地图时,使用地图JavaScript API(V2或V3)显示地图
- b。街景全景由未显示地图的网页或应用程序使用地图JavaScript API(V2或V3)显示
- c。加载Flash地图API的SWF由网页或应用程序加载
- d。从静态映射API发出一个映射图像请求
- e。从街景图像API发出一个全景图像请求
所以我恐怕这是不可能的,但是,嘿,建议总是受欢迎的 两次调用PlacesAPI,两次加载streetview。这是四个电话,但我想如果你在一个页面上加载,他们只会把这两个街景算一次。此外,您的位置呼叫将是客户端的,因此它们不会计入您的限制 但要回答您的问题,没有环孔可以绕过双重负载,因为您希望向用户显示两个街景 我要做的是在客户要求之前不加载任何内容。取而代之的是一些调用操作类型的按钮,比如
单击此处查看附近的咖啡馆
,当单击时,它们将调用附近的搜索并加载街景。而且,由于这只是在客户端请求时,你的页面加载将永远不会像搜索引擎抓取你的站点那样增加使用率
更多关于这些使用限制的信息
Google Places API的用法与地图不同
- 允许具有API密钥的用户1 每24小时有000个请求
- 允许通过API控制台验证其身份的用户100 每24小时有000个请求。通过在控制台中启用计费功能,需要使用信用卡进行验证。我们索要您的信用卡纯粹是为了验证您的身份。使用Places API不会对您的卡收费
p、 在
zoom:1
和zoomControl:false
之后有一个额外的逗号,它们不应该在那里。将在某些浏览器(如IE)中导致错误。在var panoramoptions={…}
之后和map=new
之前,您会两次调用places api并两次加载streetview。这是四个电话,但我想如果你在一个页面上加载,他们只会把这两个街景算一次。此外,您的位置呼叫将是客户端的,因此它们不会计入您的限制
但要回答您的问题,没有环孔可以绕过双重负载,因为您希望向用户显示两个街景
我要做的是在客户要求之前不加载任何内容。取而代之的是一些调用操作类型的按钮,比如单击此处查看附近的咖啡馆
,当单击时,它们将调用附近的搜索并加载街景。而且,由于这只是在客户端请求时,你的页面加载将永远不会像搜索引擎抓取你的站点那样增加使用率
更多关于这些使用限制的信息
Google Places API的用法与地图不同
- 允许具有API密钥的用户1 每24小时有000个请求
- 允许通过API控制台验证其身份的用户100 每24小时有000个请求。通过在控制台中启用计费功能,需要使用信用卡进行验证。我们索要您的信用卡纯粹是为了验证您的身份。使用Places API不会对您的卡收费
p、 在
zoom:1
和zoomControl:false
之后有一个额外的逗号,它们不应该在那里。将在某些浏览器(如IE)中导致错误。您在var panoramoptions={…}
之后和map=new
之前也缺少分号,谢谢您的全面回答!你让我更好地理解了请求和映射加载方式之间的区别。我会等一等,也许有人有更好的答案(但我怀疑;))。那我就批准你的感谢您的额外语法更正!谢谢你全面的回答!你让我更好地理解了请求和映射加载方式之间的区别。我会等一等,也许有人有更好的答案(但我怀疑;))。那我就批准你的谢谢你的补充语法
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);
}