1

作为标题,我想显示带有名称字段的地标。基本上,谷歌地图用蓝色气球显示地标。但我不想看到这个蓝色气球。只显示名称,如谷歌地球。谷歌地图javascript api可以吗?

=============KML================

<Folder>
   <name>Point Features</name>
   <description>Point Features</description>
   <Placemark>
     <description><![CDATA[LABEL<BR><BR><B>ELEVATION</B> = -2147483648.0000000]]></description>
     <name>lnd_a</name>
     <Point>
       <coordinates>126.3680042851,34.7669071990,-2147483648.000</coordinates>
     </Point>
   </Placemark>
   <!-- MY KML FILE HAS MORE LINE -->
</Folder>

=============脚本源================

<script type="text/javascript"src="https://maps.google.com/maps/api/js?sensor=false"></script>

<script type="text/javascript">
  function initialize() {
    var latlng = new google.maps.LatLng(34.7958078334,126.4441270970);
    var myOptions = {
        zoom: 14,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.SATELLITE
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var ctaLayer = new google.maps.KmlLayer('http://MYSITES/kml/101.kml');
    ctaLayer.setMap(map);
  }

Chrome 网页版中的谷歌地图 在 Chrome 谷歌地图中,​​地标以蓝色气球显示。

Google 地球地标 在仅显示名称的 Google 地球地标中。

这些屏幕截图基于相同的 KML 文件。

如何在浏览器中使用谷歌地图仅显示名称?

4

2 回答 2

2

我从未使用过它,但有一个库可以在标记上显示标签。如果您使用带有标签的透明标记,您可能会得到想要的结果。

带标签的标记

如果这不起作用,我曾经使用 OverlayView 为标记创建自定义标签。

在 Google Maps API v3 中使用自定义标签创建标记

我猜这将是使用 KML 图层的替代方法。

于 2013-01-15T12:05:39.820 回答
1

除了那里的图像之外,没有任何实现的方法可以显示任何其他内容。

所以 1 选项可能是:使用 iconStyle 将名称放在那里(包含名称的图像,这可以由接受参数的服务器端脚本创建,因此它们不需要是静态的)。

另一种选择(使用 Maps-JS-API):不显示 KML 图层,而是自行解析图层并使用名称创建自定义叠加层。

于 2013-01-15T04:57:22.600 回答