将 KML 图层与 Google 地图 API 配合使用时,将忽略大于 1 的标记比例
Marker scales greater than 1 ignored when using a KML layer with the Google Maps API
我们正在使用 Google Maps API 并渲染带有标记的 KML 图层。标记图标不会以大于 1 的比例呈现,即使定义了比例也是如此。如果我使用 geoxml3,则可以进行缩放,但会出现许多其他我宁愿不必处理的问题。这是一个非常简单的 KML,这里有一个相关的样式块:
<Style id="Style1">
<IconStyle>
<scale>1.875</scale>
<Icon>
<href>https://www.smud.org/assets/images/outage/x-lg.png</href>
</Icon>
</IconStyle>
</Style>
这是一个标记(如果有帮助,我可以提供架构 xml):
<Folder>
<name>map_outages_5000+</name>
<Placemark>
<name>5000+</name>
<styleUrl>#Style1</styleUrl>
<ExtendedData>
<SchemaData schemaUrl="#Schema1">
<SimpleData name="EVENTNUMBER">D16020400019</SimpleData>
<SimpleData name="AFFECTEDAREA">Executive Airport</SimpleData>
<SimpleData name="OUTAGEBEGINTIME">02/04/2016 13:49:45</SimpleData>
<SimpleData name="ESTIMATEDRESTORATIONTIME">02/04/2016 14:50:00</SimpleData>
<SimpleData name="CUSTOMERSIMPACTED">14906</SimpleData>
<SimpleData name="OUTAGEDESCRIPTION"></SimpleData>
<SimpleData name="CALLCOUNT">0</SimpleData>
<SimpleData name="X_COORD">6699236.5229</SimpleData>
<SimpleData name="Y_COORD">1946587.0231</SimpleData>
<SimpleData name="CoordGeocodeStatus"></SimpleData>
</SchemaData>
</ExtendedData>
<Point>
<coordinates>-121.519315773898,38.5063426658563,30.4334760147827</coordinates>
</Point>
<description><![CDATA[<div style="clear:both;color:#231f20;"><p style="font-size:18px;font-weight:bold;text-align:center">Executive Airport</p><div style="clear:both; font-size: 12px;"><p>Occured at </br><b>1:49 PM February 4</b></p></div><div style="clear:both; font-size: 12px;"><p>Est Restoration </br><b>2:50 PM February 4</b></p></div><div style="clear:both; font-size: 12px;"><p>Customers Out </br><b>14906</b></p></div><div style="clear:both; font-size: 12px;"><p>Customer Calls </br><b>0</b></p></div></div><div style="clear:both;"><p style="color:#959595; padding-top: 20px; font-size:12px;text-align:center">Ref # D16020400019</p></div>]]></description>
</Placemark>
</Folder>
JS的相关块如下:
var activeOutages = new google.maps.KmlLayer({
url: 'https://sampleurl.com/file.kml',
zIndex: 2,
preserveViewport: true,
map: map
});
同样,它通常呈现良好,只是没有正确缩放标记。我有 5 种不同的制作器尺寸,它不会渲染大于 32px(或 1 的比例)的任何内容。我看到了另一个问题,有人不小心将他们的比例属性设置得太大,并且使其过大。所以这似乎是可能的,我希望我只是缺少图层对象中的设置。我在文档中没有看到任何关于不支持大于 1 的比例的任何内容,并且一个示例使用 1.1 的比例,这意味着应该可以更大。
任何帮助都会很棒。谢谢。
问题跟踪器中的相关问题:问题 2444:使用图标小于 32x32 像素的 KML 图层(自 2013 年 2 月 13 日起)。
表明:
支持 KML 比例标签,但目前实现为"32x32"最终图标的比例,即您提供的图标图像将首先调整为 32x32(保留纵横比),无论其原始大小如何。然后应用其有效值只能介于 (0,1] 之间的刻度标记。例如,64x64 png 图像的 0.5 将生成 16x16 地图图标。
相关文章:
- 如何在Google柱状图中动态添加行/列
- 使图像在单击时展开到不大于浏览器
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用Google Visualization动态调用构造函数
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- Jquery如何检查今天的时间大于使用给定时间
- Google Adsense多次加载脚本
- 单击超链接时,如何使用Google Maps API v3缩放地图
- Google电子表格getValue([cell containing ])不返回制表符
- 实现一个建立在google.com之上的自定义搜索引擎
- 使用Google Maps API向标记添加多个字符
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 回调函数中传递参数的困难(Google Map API Markers)
- 在Chrome扩展内部输出Google API调用
- 如何使用Google Sheets API+Javascript阅读电子表格
- 如何使用javascript更改google repatcha的大小
- 在angularjs/google地图中显示分支最近的路线
- 将 KML 图层与 Google 地图 API 配合使用时,将忽略大于 1 的标记比例