Google maps 谷歌地图API为一张地图生成多幅图像,这正常吗?
我有一个特别的问题要问谷歌地图…Google maps 谷歌地图API为一张地图生成多幅图像,这正常吗?,google-maps,google-chrome,asp.net-core,google-maps-api-3,Google Maps,Google Chrome,Asp.net Core,Google Maps Api 3,我有一个特别的问题要问谷歌地图… 我正在使用asp.net core 2.2开发一个公共门户,并使用Google Map API(带键)在某些页面上显示Google地图。 我用坐标创建地图(Sat),并用地址作为标题设置标记。 您可以在下面的屏幕截图上看到,任何操作都是正确的(1) 我现在正在使用Google Chrom(开发环境)详细检查应用程序,因此看到了一种特殊的(至少对我来说)行为。 创建映射后,GC显示生成了两个动态条目: khms0.googleapis.com(2)和khms1.g
我正在使用asp.net core 2.2开发一个公共门户,并使用Google Map API(带键)在某些页面上显示Google地图。
我用坐标创建地图(Sat),并用地址作为标题设置标记。
您可以在下面的屏幕截图上看到,任何操作都是正确的(1)
我现在正在使用Google Chrom(开发环境)详细检查应用程序,因此看到了一种特殊的(至少对我来说)行为。
创建映射后,GC显示生成了两个动态条目:
khms0.googleapis.com(2)和khms1.googleapis.com(3)
在这两个条目下,指向图像(2.1)和(3.1)的各种链接,其中一些图像(例如(2.2))靠近原始位置(1)。 我用GC调查了一些其他(国外)网页(带有地图),发现了相同的行为(相同的多个图像链接) 代码被截断:
<script type="text/javascript">
function GMEinfuegen() {
var address = "@Model.cPAB_Strasse" + "," + "@Model.cPAB_PLZ" + " " + "@Model.cPAB_Ort"
var addressTitle = "@Html.Raw(@Model.cPAB_Firma)" + ", " + "@Html.Raw(@Model.cPAB_Strasse)" + ", " + "@Html.Raw(@Model.cPAB_PLZ)" + " " + "@Html.Raw(@Model.cPAB_Ort)"
//
var cLatituede = @Model.cPAB_Latituede
var cLongituede = @Model.cPAB_Longituede
function initMap() {
@{ var tagname1 = "#map" + Model.PBA_Kundennummer;}
var map = new google.maps.Map($("@tagname1")[0], {
zoom: 15,
center: { lat: cLatituede, lng: cLongituede },
mapTypeId: google.maps.MapTypeId.HYBRID,
});
var marker1 = new google.maps.Marker({
map: map,
draggable: false,
title: addressTitle,
animation: google.maps.Animation.DROP,
position: { lat: cLatituede, lng: cLongituede }
});
}
initMap()
}
</script>
函数GMEinfuegen(){
var address=“@Model.cPAB_Strasse”+,“+”@Model.cPAB_PLZ”+“+”@Model.cPAB_-Ort”
var addressTitle=“@Html.Raw(@Model.cPAB_Firma)”+,“+”@Html.Raw(@Model.cPAB_Strasse)”+,“+”@Html.Raw(@Model.cPAB_PLZ)”+“+”@Html.Raw(@Model.cPAB_-Ort)”
//
var clatiteede=@Model.cPAB_Latituede
var cLongituede=@Model.cPAB_Longituede
函数initMap(){
@{var tagname1=“#map”+Model.PBA_kundennumer;}
var map=new google.maps.map($(“@tagname1”)[0]{
缩放:15,
中心:{lat:clatitede,lng:cLongituede},
mapTypeId:google.maps.mapTypeId.HYBRID,
});
var marker1=新的google.maps.Marker({
地图:地图,
可拖动:错误,
标题:addressTitle,
动画:google.maps.animation.DROP,
位置:{lat:clatitede,lng:cLongituede}
});
}
initMap()
}
问题:
- 这是正常的行为吗李>
- 有人能解释下这些图片的原因吗李>
- 从一段时间以来,API调用必须支付给谷歌(如果免费金额已经超过)-我想(希望),额外生成的图像不算作API调用李>
khms0.googleapis.com
和khms1.googleapis.com
发出多个请求,以获得给定视口和缩放级别所需的平铺。我建议看一看地图平铺坐标文档,它详细解释了这些东西
每次更改缩放或平移地图时,API都会向平铺图像端点发送新请求并接收新平铺
关于付款,谷歌地图JavaScript API不收取瓷砖图像或任何其他操作(如缩放、平移等)的费用。付款基于地图加载。Google将在代码中创建新的map实例理解为map load。换句话说,他们为每一个新的google.maps.Map(选项)
调用您的JavaScript代码向您收费
在以下常见问题解答中,您可以找到有关地图加载的更详细说明:
文档的使用和计费部分也对其进行了解释
正如您所看到的,SKU:DynamicMap是在调用new google.maps.Map(options)
后生成的
我希望我的回答能澄清你的疑虑 @感谢您的有用且完整的回答-很高兴看到这样的特殊问题在SO中以很好的质量在短时间内得到了回答:-)