是否可以更改Google Maps Drawing管理器图标?

Mir*_*are 9 google-maps-api-3

我正在寻求实施Google Maps多边形选择工具,以便在多个设备上使用.

默认的绘图管理器图标(手,多边形绘制工具)在桌面计算机上很好,但它们在Android设备上使用起来非常繁琐.任何人都可以告诉我是否可以覆盖默认图标集(http://maps.gstatic.com/mapfiles/drawing.png)

我想我可以专门覆盖css和html,但是很想知道在走这条路之前是否有更好的方法.

提前致谢.

Den*_*nis 9

这就是我用来修改按钮的东西,它应该给你一个起点,一旦你ID外翻,改变CSS很容易..

$(".gmnoprint").each(function(){
    var newObj = $(this).find("[title='Draw a circle']");
    newObj.parent().addClass("remove");

    // ID the toolbar
    newObj.parent().parent().attr("id", "btnBar");

    // Now remove the Circle button
    $(".remove").remove();

    // ID the Hand button
    newObj = $(this).find("[title='Stop drawing']");
    newObj.attr('id', 'btnStop');

    // ID the Marker button
    newObj = $(this).find("[title='Add a marker']");
    newObj.attr('id', 'btnMarker');

    // ID the line button
    newObj = $(this).find("[title='Draw a line']");
    newObj.attr('id', 'btnLine');

    // ID the Rectangle Button
    newObj = $(this).find("[title='Draw a rectangle']");
    newObj.attr('id', 'btnRectangle');

    // ID the Polygon button
    newObj = $(this).find("[title='Draw a shape']");
    newObj.attr('id', 'btnShape');  

});
Run Code Online (Sandbox Code Playgroud)

为了进一步修改它,我将自己的按钮添加到工具栏,如下所示:

$("#btnBar").append('<div style="float: left; line-height: 0;"><div id="btnDelete" style="direction: ltr; overflow: hidden; text-align: left; position: relative; color: rgb(51, 51, 51); font-family: Arial,sans-serif; -moz-user-select: none; font-size: 13px; background: none repeat scroll 0% 0% rgb(255, 255, 255); padding: 4px; border-width: 1px 1px 1px 0px; border-style: solid solid solid none; border-color: rgb(113, 123, 135) rgb(113, 123, 135) rgb(113, 123, 135) -moz-use-text-color; -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image: none; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4); font-weight: normal;" title="Delete Selected"><span style="display: inline-block;"><div style="width: 16px; height: 16px; overflow: hidden; position: relative;"><img style="position: absolute; left: 0px; top: -195px; -moz-user-select: none; border: 0px none; padding: 0px; margin: 0px; width: 16px; height: 350px;" src="drawing.png" draggable="false"></div></span></div></div>');
Run Code Online (Sandbox Code Playgroud)

然后,要激活新按钮并更改鼠标单击上的图标:

google.maps.event.addDomListener(document.getElementById('btnDelete'), 'click', deleteSelectedShape);
            google.maps.event.addDomListener(document.getElementById('btnDelete'), 'mousedown', function () {
    $("#btnDelete img").css("top", "-212px");
});
            google.maps.event.addDomListener(document.getElementById('btnDelete'), 'mouseup', function () {
    $("#btnDelete img").css("top", "-195px");
});
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!:)丹尼斯

  • 你是如何/何时应用风格变化的?绘图管理器需要一段时间来加载和显示,并且没有指示其完成的事件.我使用1秒超时,但这样你可以在短时间内看到原始图标. (6认同)