- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何像以下网站一样显示地点或区域轮廓:[我输入一个区域,它显示该区域的清晰边界。]
我在官方 map 文档中搜索了几个小时,但不知道这些网站如何显示区域边界。还查看了一些旧问题并阅读了它是不可能的。
最佳答案
根据我的搜索,目前 Maps API v3 中没有来自 Google 的选项,并且有一个 issue on the Google Maps API going back to 2008.有一些较旧的问题 - Add "Search Area" outline onto google maps result 、 Google has started highlighting search areas in Pink color. Is this feature available in Google Maps API 3?您可能会在这里找到一些更新的答案以及更新的信息,但这不是一个功能。
What you can do is draw shapes on your map - 但为此您需要拥有您所在区域边界的坐标。
现在,为了获得行政区域边界,您必须做一些工作:http://www.gadm.org/country(如果您幸运并且那里有足够的详细信息)。
在此网站上,您可以本地下载扩展名为 .kmz 的文件(有多种可用格式)。解压它,您将得到一个 .kml 文件,其中包含大多数行政区域(城市、村庄)。
<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="root_doc">
<Schema name="x" id="x">
<SimpleField name="ID_0" type="int"></SimpleField>
<SimpleField name="ISO" type="string"></SimpleField>
<SimpleField name="NAME_0" type="string"></SimpleField>
<SimpleField name="ID_1" type="string"></SimpleField>
<SimpleField name="NAME_1" type="string"></SimpleField>
<SimpleField name="ID_2" type="string"></SimpleField>
<SimpleField name="NAME_2" type="string"></SimpleField>
<SimpleField name="TYPE_2" type="string"></SimpleField>
<SimpleField name="ENGTYPE_2" type="string"></SimpleField>
<SimpleField name="NL_NAME_2" type="string"></SimpleField>
<SimpleField name="VARNAME_2" type="string"></SimpleField>
<SimpleField name="Shape_Length" type="float"></SimpleField>
<SimpleField name="Shape_Area" type="float"></SimpleField>
</Schema>
<Folder><name>x</name>
<Placemark>
<Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>
<ExtendedData><SchemaData schemaUrl="#x">
<SimpleData name="ID_0">186</SimpleData>
<SimpleData name="ISO">ROU</SimpleData>
<SimpleData name="NAME_0">Romania</SimpleData>
<SimpleData name="ID_1">1</SimpleData>
<SimpleData name="NAME_1">Alba</SimpleData>
<SimpleData name="ID_2">1</SimpleData>
<SimpleData name="NAME_2">Abrud</SimpleData>
<SimpleData name="TYPE_2">Comune</SimpleData>
<SimpleData name="ENGTYPE_2">Commune</SimpleData>
<SimpleData name="VARNAME_2">Oras Abrud</SimpleData>
<SimpleData name="Shape_Length">0.2792904164402</SimpleData>
<SimpleData name="Shape_Area">0.00302673357146115</SimpleData>
</SchemaData></ExtendedData>
<MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>23.117561340332031,46.269237518310547 23.108898162841797,46.265365600585937 23.107486724853629,46.264305114746207 23.104681015014762,46.260105133056641 23.101633071899471,46.250000000000114 23.100803375244254,46.249053955078239 23.097520828247184,46.246582031250114 23.0965576171875,46.245487213134822 23.095674514770508,46.244930267334098 23.092174530029354,46.243438720703182 23.088010787963924,46.240383148193473 23.083366394043082,46.238204956054801 23.075212478637809,46.234935760498047 23.071325302123967,46.239696502685547 23.070602416992131,46.241668701171875 23.069700241088924,46.242824554443416 23.068435668945369,46.243541717529354 23.066627502441406,46.244037628173771 23.064964294433651,46.246234893798885 23.062850952148437,46.247486114501953 23.0626220703125,46.248153686523438 23.062761306762752,46.250873565673942 23.061862945556697,46.255172729492301 23.061449050903434,46.256267547607422 23.05998420715332,46.258060455322322 23.057676315307674,46.259838104248161 23.055141448974666,46.262714385986442 23.053401947021484,46.264244079589901 23.049621582031193,46.266674041748161 23.043565750122013,46.268516540527457 23.041521072387695,46.269458770751953 23.034791946411076,46.270542144775334 23.027051925659293,46.27105712890625 23.025453567504826,46.271255493164063 23.022710800170898,46.272083282470703 23.020351409912053,46.271331787109432 23.018688201904297,46.270687103271598 23.015596389770508,46.270793914794922 23.014116287231502,46.271579742431697 23.009817123413143,46.275333404541016 23.006668090820426,46.277061462402401 23.004106521606445,46.279254913330135 23.001775741577205,46.282882690429688 23.005559921264648,46.283077239990348 23.009967803955135,46.28415679931652 23.014947891235465,46.286224365234489 23.019996643066463,46.28900146484375 23.024263381958121,46.292709350586051 23.027633666992301,46.295299530029411 23.028041839599609,46.295692443847656 23.032444000244197,46.294342041015625 23.03491401672369,46.293315887451229 23.044847488403434,46.290401458740234 23.047790527343807,46.28928375244152 23.053009033203239,46.288627624511719 23.057231903076229,46.288341522216797 23.064565658569393,46.287548065185547 23.070388793945426,46.286254882812614 23.075139999389592,46.284847259521428 23.075983047485465,46.284801483154411 23.085800170898494,46.28253173828125 23.098115921020451,46.280982971191406 23.099718093872127,46.280590057373104 23.105833053588981,46.278388977050838 23.112155914306641,46.274082183837947 23.116207122802791,46.270610809326172 23.117561340332031,46.269237518310547</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
</Placemark>
</Folder>
</Document></kml>
从现在开始,当用户搜索城市/村庄时,您只需检索边界并在 map 上绘制这些坐标 - https://developers.google.com/maps/documentation/javascript/overlays#Polygons
希望这对您有帮助!祝你好运!
var ctaLayer = new google.maps.KmlLayer({
url: 'https://www.dropbox.com/s/0grhlim3q4572jp/ROU_adm2%20-%20Copy.kml?dl=1'
});
ctaLayer.setMap(map);
(我在 Dropbox 上放置了一个包含单个城市边界的小 kml 文件)
请注意,这使用了 Google 内置的 KML 系统,在该系统中,他们的服务器获取文件、计算 View 并将其返回给您 - 它的使用有限,我用它来向您展示边框的外观。在您的应用程序中,您应该能够解析 kml 文件中的坐标,将它们放入数组中(正如多边形文档告诉您的 - https://developers.google.com/maps/documentation/javascript/examples/polygon-arrays )并显示它们。
请注意,Google 在 http://www.google.com/maps 上设置的边框与您通过此数据获得的边框之间存在差异。
更新: http://pastebin.com/x2V1aarJ 、 http://pastebin.com/Gh55EDW5 这些是来自网站的 javascript 文件(它们被缩小了,所以我使用在线工具使它们可读)。如果您对我的解决方案不完全满意,请随意研究它们。
祝你好运!
关于google-maps - 谷歌地图如何显示城市或区域轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861822/
在使用 GDI 进行图形处理的传统 Windows 程序中,您必须担心只绘制需要重绘的窗口区域;这是“更新矩形”,可以通过 PAINTSTRUCT.rcPaint 或通过调用 GetUpdateRec
我对 TFS 中的所有内容感到困惑。有人可以解释一下所有这些是如何组合在一起的吗? 团队项目合集 团队项目 团队 地区 迭代 来自 this page,我认为一个(团队)项目集合可以包含多个(团队)项
这对我来说根本没有意义。创建新的 API 网关时,您可以指定它是区域优化的还是边缘优化的。但话又说回来,当您为 API Gateway 创建自定义域名时,您可以在两者之间进行选择。 最糟糕的是,您可以
我有一个工作表,其中包含我想循环遍历的许多不同区域。我将进行一些计算,并认为它比在列中逐个单元格地更快/更有效。 我尝试了一些不同的东西,但不知道如何跳到下一个区域。我已经发表了一些评论,最有希望的是
最近迁移到 TFS 2010 后,我想知道对于区域而言,最佳或最广泛接受的定义或配置是什么? 我能在网上找到的唯一有用的文章是 this one并且是我认为是正确的。然而,这让我开始思考是否以下任何一
我在“北欧”有一个存储帐户,现在我想使用生命周期管理将冷 blob 移动到存档层。 但是我每次尝试都会遇到以下失败:无法为存储帐户“myStorageAccount”添加生命周期管理规则。错误:管理策
我正在开发一个项目,您在扫描仪中输入州的缩写,然后程序会告诉您该州位于美国的哪个地区。我认为我的大部分代码都是正确的,但我有以前从未使用过 switch。 我已经将我的工作改进为一个错误,即我的第一个
我正在尝试学习 AngularJS,我想我有一个架构问题。 如果我想开始开发一个应用程序,比方说,比如 youtube,我如何在“区域”(比如 Marionette)中组织页面?我的意思是:顶部导航栏
我正在制作一个动态内存分配器,当我释放其中的一部分时,我需要检查我传递给函数的指针实际上是否在该区域内。我有一个指向 malloc 区域开头的指针 typedef unsigned char byte
有时我想看看 到底在哪里页面上图片上的标签。 在 Javascript 中有没有办法改变颜色或隐藏与区域标签对应的图像部分? 最佳答案 也许您正在寻找类似 mapper.js 的内容.它允许您在鼠标
我有一个使用 D3 js 创建的时间序列图表。我想为特定时间间隔添加高亮区域,以显示在该特定时间发生的特定事件(会有不同类型的事件,因此每个高亮标记将根据其类型具有不同的颜色)。我希望这个突出显示区域
我正在尝试创建网站的密码保护区。我想通过检查 MySql 表中的用户名和密码来允许访问,然后启动一个 session 并允许在 session 处于事件状态时访问多个页面。如果有人尝试直接访问这些页面
在 ScrollView 中我添加了几个按钮。正如您在图片中看到的,2 个按钮完全可见,第三个按钮半可见。当我向右滚动看到第三个时;1-如果滚动条很短,则它会滚动回到第一个位置。2- 如果滚动足够则显
我正在开发我的第一个 spritekit 应用程序,并且有一个关于如何处理我想到的事情的快速问题。我正在制作一个我想要的棋盘游戏原型(prototype),并希望在 iOS map 中进行一些集思广益
在我的 C# 程序中,我收到这样的日期和时间:DateTime.Now 我得到:19/09/2010 20:10:30 因为我的地区是:希伯来语(以色列) 但是如果我将我的程序安装在区域为 Engli
有时我在 Visual Studio 的源文件中运行(在我的例子中是 2010),我看到很多区域,我必须点击 + 号才能一个一个地打开它们! 是否有任何快捷方式或菜单选项可以使这对我来说更容易,并且对
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
我正在寻找二维数据中的峰值区域(如果您愿意,灰度图像或二维景观,通过霍夫变换创建)。 峰值区域是指局部最大峰值,但不是单个点而是周围的一部分strong>contributing region 随之而
我希望能够将任何字符或字符串转换为形状或区域,以便我可以按照我喜欢的任何大小、样式、效果等来绘制该字符。 更具体地说,我将使用视差绘制它,以便它仅在特定角度清晰定义(这就是为什么我不能使用 html
我非常喜欢数学(或者你们大多数人会说的“数学”!),但我还没有达到知道这个问题答案的程度。我有一个主圆,它可以在显示器上的任何 x 和 y 处有一个中心点。其他圆圈将随意在显示器周围移动,但在任何给定
我是一名优秀的程序员,十分优秀!