如何在 HTML 文件中使用 svg 突出显示整个地图
How to highlight the entire map using svg in HTML file?
这是为map编码。如果我将鼠标悬停在地图上,它只会突出显示一半的状态。我需要突出显示完整状态。怎么办?谁能帮我编码...
她是我们的HTML编码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="js/jquery-1.js">
var aid;
var disid;
var but;
var hovid;
</script>
<title>Sample Map</title>
<style type="text/css">
.button {
list-style-type: none;
padding: 0;
margin: 0;
width: 100px;
font-family:"Arial", Helvetica, Sans-serif;
font-size:14px;v
font-weight: bold;
}
</style>
</head>
<body>
<div>
<!-- <p><a><button class="button" onclick="getid('VA','1','VA1','46','')";>Zoom</button></a></p> -->
<p><a><button class="button" onclick= "sample.style.zoom='2300%'">Zoom</button></a></p>
<button class="button"onclick= "sample.style.zoom='100%'">Zoom Out</button>
</div>
<!-- <table>
<tr>
<td> --> <div id="sample"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="700" height="500">
<polyline fill="#c0c3c5" id="KY1" title="Kentucky" alt="Kentucky" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="
500.441,263.861 519.982,261.672 527.197,259.595 527.905,257.709 530.413,256.524 530.479,255.049 532.128,253.862
532.072,252.457 540.856,244.216 540.864,244.264 538.589,244.089 537.851,243.049 536.241,242.449 535.75,240.996
533.173,238.515 533.231,237.692 530.597,234.998 531.316,233.435 530.781,230.627 530.781,230.627 528.975,228.691
527.19,228.215 525.973,225.548 524.385,226.236 523.034,228.147 521.104,228.767 518.115,227.233 516.802,227.828
516.454,228.738 515.22,228.559 513.299,226.783 508.794,226.435 507.269,223.303 505.197,221.858 503.135,222.735
501.486,221.724 499.633,223.385 500.554,224.641 500.064,225.881 501.259,226.137 501.105,227.831 498.844,228.127
496.451,229.948 495.07,229.116 492.96,229.656 493.607,232.788 491.278,234.587 490.614,237.195 488.653,237.714 487.86,239.469
487.837,241.85 486.289,243.296 483.179,241.962 482.883,240.586 481.676,239.776 482.273,240.805 480.57,241.011 480.997,241.997
479.969,242.69 480.156,244.352 479.224,244.76 478.745,245.989 478.408,245.047 477.161,245.259 475.939,243.798 473.506,245.307
472.427,247.555 468.408,245.295 466.396,245.884 465.938,244.891 466.096,246.879 465.344,247.479 464.821,246.169
463.313,246.82 462.113,245.998 461.558,246.416 462.041,247.836 461.383,248.588 460.169,248.138 458.925,250.765
460.069,253.706 454.872,255.64 454.62,257.494 455.961,259.672 454.62,261.216 448.309,258.937 446.057,261.607 446.887,263.396
446.925,266.685 445.605,270.267 443.757,269.407 442.896,271.563 461.841,270.314 461.136,267.126 464.089,267.174
464.391,267.746 481.355,266.352 481.978,265.647 500.441,263.861" onmouseover="getstate('KY','17','','KY1');" onmouseout="onout('KY1');"><title>Kentucky</title></polyline>
<polyline fill="#c0c3c5" id="OH1" title="Ohio" alt="Ohio" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="
545.233,168.086 533.923,176.797 530.205,177.313 526.158,179.271 521.791,179.139 521.14,178.462 519.449,178.738
518.338,178.549 516.531,177.317 513.018,176.452 495.778,178.437 500.535,222.528 501.486,221.724 503.135,222.735
505.197,221.858 507.269,223.303 508.794,226.435 513.299,226.783 515.22,228.559 516.454,228.738 516.802,227.828
518.115,227.233 521.104,228.767 523.034,228.147 524.385,226.236 525.973,225.548 527.19,228.215 528.975,228.691
530.781,230.627 534.104,229.693 534.405,227.264 535.615,226.61 534.705,223.909 536.431,219.708 537.908,219.829
538.283,221.624 539.354,220.335 540.222,220.539 539.172,218.129 539.979,217.634 539.759,216.364 540.446,214.741
541.875,214.269 543.063,211.814 544.403,212.763 546.07,211.648 549.936,207.213 550.254,205.473 549.648,204.752
550.342,203.011 550.119,202.119 550.712,201.92 550.564,199.059 551.643,195.083 551.105,193.692 551.299,192.52 550.067,190.643
550.456,189.982 551.832,189.336 551.869,189.331 548.445,167.054" onmouseover="getstate('OH','35','','OH1');" onmouseout="onout('OH1');"><title>Ohio</title></polyline>
<polyline fill="#c0c3c5" id="TN1" title="Tennessee" alt="Tennessee" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="
547.005,258.142 519.982,261.672 481.978,265.647 481.355,266.352 464.391,267.746 464.089,267.174 461.136,267.126
461.841,270.314 442.896,271.563 442.566,272.441 442.116,270.633 441.231,270.85 441.993,273.718 440.677,274.601
441.598,275.787 439.899,276.097 441.156,277.86 439.612,280.212 440.607,281.83 439.073,282.184 439.889,282.889 439.577,283.445
436.892,284.996 437.67,286.516 436.927,287.202 437.466,288.361 436.222,288.641 434.894,291.565 435.431,295.197
434.263,295.366 433.888,296.621 432.572,297.281 461.637,295.572 496.773,292.57 514.591,290.681 514.564,287.004
515.268,286.275 517.391,286.089 517.988,283.31 519.572,281.555 521.415,280.522 524.753,280.015 528.858,276.253
531.123,275.589 532.06,273.732 531.916,272.61 533.325,272.756 533.646,271.518 535.344,270.267 536.552,271.847 539.736,268.385
540.869,267.848 542.748,268.568 544.534,264.847 545.677,263.764 547.03,263.848 546.424,262.896 546.94,261.359 546.537,260.654
547.005,258.142" onmouseover="getstate('TN','42','','TN1');" onmouseout="onout('TN1');"><title>Tennessee</title></polyline>
</svg> </div> <!--</td>
</tr>
</table> -->
<script type="text/javascript" >
function getstate(aid,disid,but,hovid) {
var elem = document.getElementById(hovid);
elem.setAttributeNS(null,"stroke","#404040");
elem.setAttributeNS(null,"stroke-width","2.35");
}
function onout(hovid) {
var elem1 = document.getElementById(hovid);
elem1.setAttributeNS(null,"stroke","#FFFFFF");
elem1.setAttributeNS(null,"stroke-width","2.35");
}
</script>
</body>
这与分层顺序有关。你的中间状态被埋在其他两个状态之下。要将其置于顶部以使边框显示在最顶部,您必须最后插入元素。
快速解决方法是为您的元素提供一个 ID:<svg id="id_svg" ...
然后在 getstate() 函数中,在末尾插入以下内容:
document.getElementById('id_svg').appendChild( elem );
处理这组复杂性的更好方法是使用像raphaeljs这样的库。它修复了许多烦恼,并且跨浏览器兼容。
例如,请参阅此小提琴:http://jsfiddle.net/3345Q/
相关文章:
- 地图API没有't显示地图
- 单击按钮以突出显示地图标记 (Gmaps) - 如何
- 谷歌地图API没有;t显示地图,如果中心由javascript函数填充
- 将PHP集成到Javascript中,使用Google API显示地图标记
- IE中的谷歌地图API v3不显示地图或标记
- 数据映射不是't显示地图
- 谷歌地图隐藏并显示地图
- 在谷歌地图中显示地图标记内容的事件
- 映射:单击标记,显示地图旁边的内容
- 谷歌地图没有显示地图上的所有目的地标记,只有第一个和最后一个
- 如何在另一页上显示地图并全屏查看
- 谷歌地图 - 通过使用php检索纬度和纵向来显示地图和标记
- 单击时显示地图,然后滚动到地图
- 在 JavaScript 循环中显示地图标记的 JSON 解析数据
- 如何更新和显示地图对象
- 必应地图显示地图的左上角的北美
- 谷歌地图功能,但不显示地图
- 如何在选择html元素时高亮显示地图标记
- 获取用户's附近没有显示地图与谷歌地图api v3
- 显示地图的“切换街景地图的问题”