是否有可能在GoogleMap中掩盖邻居国家?就我而言,我只想向瑞典展示一种观点。在第二个视图中,只有挪威,丹麦等等......我可以在GoogleMaps中显示一个国家(屏蔽掉)吗?
我知道可以绘制多边形线并将其填充到Maps API。问题是,或者结果集变大或者线条变得非常粗糙等等......如果GoogleMaps能够在没有邻居的情况下在当时提供一个国家,那会很好。
有没有人知道一个好的坐标数据库与国界?
是否有可能在GoogleMap中掩盖邻居国家?就我而言,我只想向瑞典展示一种观点。在第二个视图中,只有挪威,丹麦等等......我可以在GoogleMaps中显示一个国家(屏蔽掉)吗?
我知道可以绘制多边形线并将其填充到Maps API。问题是,或者结果集变大或者线条变得非常粗糙等等......如果GoogleMaps能够在没有邻居的情况下在当时提供一个国家,那会很好。
有没有人知道一个好的坐标数据库与国界?
你有没有考虑loading in a custom map?
我没有用它自己,但希望该链接可以帮助您了一点:)
您可以创建在地图非常复杂的多边形,如果没有性能下降您将它们以KML文件格式存储并将它们加载为KmlLayers。 KML是地理数据的基于XML的矢量文件格式。在Google地图中使用KML文件的优点在于,无论原始多边形数据的复杂程度如何,它们都可以在Google服务器上呈现为简单的PNG文件,与当前的地图视图的分辨率和边界框匹配。所以所有的复杂性都在Google的服务器端处理。
这是一个sample of a project,我曾在德国的一个联邦州使用过这种遮罩。 (在这种情况下,周围的环境并没有被完全遮挡,而只是变暗,但您也可以通过更改KML文件中的填充颜色的Alpha值来轻松遮罩它们。)
快速查看KML文件也可以直接加载到Google Maps公共网站(通过在搜索字段中输入它们的URL)。以下是我在上述项目中使用的KML文件,
loaded directly into Google Maps。 (我实际上在这里使用了一个KMZ文件,但这只是一个压缩成ZIP压缩文件的KML文件,你可以用普通的ZIP工具打包和解压缩它。)
BEGIN UPDATE 07/2015:不幸的是,谷歌已经取消了直接在他们的公开Google地图的搜索字段中输入KML/KMZ文件的网址,当他们在2014年推出其重新设计的版本时。您仍然可以使用本答案中讨论的所有技术,但是您不能通过在URL中输入他们的URL来预览KML文件搜索字段了。如果您需要上述KMZ进一步分析,您可以download it here。 END UPDATE
请注意,谷歌意味着KML/KMZ文件的大小限制(当前10 Mb未压缩,3 Mb压缩 - details see here)。如果您的KML文件应该很大,可以使用软件来降低复杂性(请参阅示例here和here)。
您可以在Internet上的许多地方找到免费的地图数据,其中大部分都是ESRI shapefile格式。国家地图的一个很好的来源是http://www.gadm.org/,它具有以KML/KMZ格式提供数据的巨大优势。如果您不得不将ESRI shapefile转换为KML,请查看伟大的(免费)OGR converter。
请注意,如果您的多边形是静态的(比如瑞典的边框)并且不依赖于任何用户输入,KML文件只是一个解决方案。对于动态多边形,您仍然必须使用Maps API的Polygon类以及您提到的复杂性限制。
也有类似的问题,并通过与gamps Fusion Tables的组合管理它:
var table_id = 420419; //can be exchanged wit another table
var FT_Query = "SELECT 'kml_4326' FROM "+ table_id +" WHERE 'name_0' NOT EQUAL TO 'SWEDEN'";
var FT_Options =
{
suppressInfoWindows: true,
query: FT_Query
};
var layer = new google.maps.FusionTablesLayer(table_id, FT_Options);
layer.setMap(map);
嗨,伟大的答案,但KMZ链接断开。你是怎么设计出一个地标的,这样外面就被掩盖了 – wrecker 2015-07-29 13:22:36
Hi @wrecker,你是对的,链接被打破了。我已更正该链接,但我发现在2014年推出新版本时,直接在公开Google地图的搜索字段中预览KML/KMZ文件的选项已被删除。您仍然可以使用此处讨论的所有技术,只会失去简单的预览选项。为了掩盖一个国家的外部,我为这个国家打了一个很大的圈子。下载我的KMZ(现在再次工作链接)并检查它。 – Jpsy 2015-07-30 09:12:35