使用 GPolygon 绘制多边形而不使用 GMap
有人知道如何在没有地图的情况下在其他元素内使用 Google 地图中的 GPolygon 绘制多边形吗?或者有人知道任何框架可以实现与 GPolygon 相同的功能吗?
我想要这个“绘制自定义元素上的多边形”,例如 div:
<div id="MyArea"></div>
Anyone know how I can draw Polygons with GPolygon from Google Map without having a map, inside other elements? Or anyone know any framework to do it with the same features like GPolygon?
I would like to have this "draw polygon" on a custom element, like div:
<div id="MyArea"></div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看 Raphael,这是一个 JavaScript 库,它封装了 IE 中的 VML 和符合标准的浏览器中的 SVG。它相当容易使用,并且记录得很好。
当然,
path
元素(用于绘制多边形和折线)使用 SVG 路径字符串语法 这有点神秘,但很容易理解。您当然可以扩展 Raphael 以使用更简单的语法:这应该允许您执行以下操作:
或者创建您自己的多边形 API 来品尝(如果您不喜欢我的)。
编辑:修复了一些小错误。
Check out Raphael, a javascript library that wraps around VML in IE and SVG in standards compliant browsers. It's fairly easy to use and quite well documented.
Granted, the
path
element (used to draw polygon and polylines) uses the SVG path string syntax which is a bit cryptic but quite easy to understand. You can of course extend Raphael to use a more simple syntax:Which should allow you to do:
Or create your own polygon API to taste if you don't like mine.
EDIT: fixed some small bugs.
我同意 slebetman 的观点,认为拉斐尔非常伟大。但请注意,Android 浏览器目前不支持 SVG 和 VML。如果您也针对 Android,则使用 excanvas.js 的 Canvas 可能是跨浏览器工作的更好选择。
另外,如果您确实想使用 Google Map API,只需隐藏地图即可。但由于使用条款的原因,您仍然会被 Google 徽标所困扰。
您可以通过在 v2 中使用单色图块来做到这一点,但我相信在 v3 中还有其他方法可以做到这一点。
v2 方法示例: http://fisherwebdev.com/california
隐藏部分地图功能的示例v3:http://fisherwebdev.com/mapcolors - 您可以使用相同的技术来隐藏所有功能。
尝试一下,看看 v3 中可以隐藏/显示或重新设置样式:http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html
I agree with slebetman that Raphael is totally great. Note, however, that neither SVG nor VML is currently supported in the Android browser. Canvas with excanvas.js may be a better bet for cross-browser work, if you are also targeting Android.
Also, if you really want to use the Google Map API, you can simply hide the map. But you would still be stuck with the Google logo due to the Terms of Use.
You can do this by using a tile with a single color in v2, but I believe there are other ways do this in v3.
Example of the v2 method: http://fisherwebdev.com/california
Example of hiding some of the map features in v3: http://fisherwebdev.com/mapcolors -- You can use this same technique to hide all features.
Play around with this to see what is possible to hide/show or restyle in v3: http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html