我可以将转换后的image.svg用作谷歌地图图标.我正在将我的png图像转换为svg,我想使用这个像可以旋转的谷歌地图符号.我已经尝试使用谷歌地图符号但我希望有一个像汽车,男人等图标...这就是为什么我将我的一些png文件转换为svg,就像这个示例网站他用于这些http:/ /www.goprotravelling.com/
如果我打开这个图例如: IE10中的http://bl.ocks.org/mbostock/1153292,我就是看不到节点之间的链接.
我能在代码中做些什么,甚至可以用Internet Explorer查看吗?
似乎IE只是忽略了svg的一些部分......我找不到任何方法让它可见.
我正在尝试使用Google数据层显示一些公交路线,然后添加一些自定义图标标记.适用于Chrome和Firefox,但在IE 11中我只能获得路线.我在一些混淆的代码深处得到一个InvalidStateError.
标记使用带有内联SVG的数据uri,该SVG转换为base 64字符串.我也尝试过不转换为base 64; 这不会产生任何明显的错误,但标记仍然不会显示.
下面粘贴了简化的javascript,你可以在jsfiddle中看到它.
var map;
map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 11,
center: {lat: 38.813605, lng: -89.957399}
});
var geoJsonRoutesUrl = 'https://storage.googleapis.com/gtfs-test/MCT-All-Bus-Routes.json';
var routesLayer = new google.maps.Data();
routesLayer.loadGeoJson(geoJsonRoutesUrl);
routesLayer.setMap(map);
routesLayer.setStyle(function(feature) {
return ({
strokeColor: feature.getProperty('color'),
fillColor: feature.getProperty('color'),
strokeWeight: 6
});
});
var geoJsonRouteMarkersUrl = 'https://storage.googleapis.com/gtfs-test/MCT-All-Bus-Route-Markers.json';
var routeMarkersLayer = new google.maps.Data();
routeMarkersLayer.loadGeoJson(geoJsonRouteMarkersUrl);
routeMarkersLayer.setMap(map);
routeMarkersLayer.setStyle(function(feature) {
var markerIcon = CreateRouteMarkersIconDefinition(
feature.getProperty('route'),
feature.getProperty('color'),
feature.getProperty('backColor'));
return ({icon: markerIcon});
});
function CreateRouteMarkersIconDefinition(route, color, backColor) { …Run Code Online (Sandbox Code Playgroud) 我准备发布这个,然后我想出来了.但无论如何,我会为其他需要它的人发布它.学到的经验是,如果您希望它们在IE中工作,请使用.ico文件作为自定义标记图像.(作为旁注,它在Safari中仍然无法正常工作,但这是另一个问题.)
我有一段时间没有问题,使用自定义图片创建的Google Maps API V3标记不会在IE或Safari中显示.它在我测试的每个其他浏览器中都能正常工作,但我们的大多数用户仍然在IE上,所以我需要修复它.
这显然是一个已知问题(至少对Google而言),如Google支持主题中所示:http://www.google.com/support/forum/p/maps/thread?tid = 26db8fd040386548& hl = zh-CN
我想知道是否有其他人遇到过这个问题或知道解决方法吗?
这是我创建的一个简单测试页面中的js,它演示了这个bug:
var map;
var latLng = new google.maps.LatLng(41.342, -84.932);
$(function() {
var myOptions = {
zoom: 17,
center: latLng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var newMarker = new google.maps.Marker({
map: map,
position: latLng,
icon: 'images/active_point.png'
});
});
Run Code Online (Sandbox Code Playgroud)
修复:我将图像转换为active_point.ico,这对IE来说效果很好.出于某种原因,IE不喜欢我的.png.
经过一些研究后,似乎必须将Safari作为特殊情况处理,因为它似乎不适用于.ico或.png标记图像.我只得到.jpgs工作,这很烦人,因为他们不支持alpha通道.
我一直在研究的网站上存在一个问题,出于某种原因,在IE 11中没有出现SVG图像标记.
我有两套标记:
我对不支持SVG的旧浏览器使用后备(使用modernizr进行测试).我正在使用IE 11的旧Google图表标记来使其工作(测试用户代理字符串以识别它).
我想知道是否有人有任何想法:
原因
是否与IE11 Edge模式搞混了(将文档模式切换为10以使其工作)
或谷歌失败的东西.
该网站是:
http://artstrail.org.au/arts-trail.php
如果在IE 11中更改用户代理字符串,同时将其保留为边缘文档模式,则可以看到它失败.
debugging svg backwards-compatibility google-maps-markers internet-explorer-11