Google Maps Javascript API V3如何仅显示地标显示名称

时间:2013-01-15 02:25:50

标签: javascript google-maps google-maps-api-3 kml

作为标题,我想要显示带有名称字段的地标。 基本上,谷歌地图显示地标与蓝色气球。 但我不想看到这个蓝色的气球。只显示名称只有谷歌地球。 谷歌地图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);
  }

Google Maps in Chrome Web 在Chrome中,Google地图地标显示为蓝色气球。

Google Earth Placemark 在Google地球地标中显示名称。

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

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

2 个答案:

答案 0 :(得分:2)

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

MarkerWithLabel

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

Create marker with custom labels in Google Maps API v3

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

答案 1 :(得分:1)

没有实现的方法来显示除图像之外的任何内容。

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

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