Javascript 如何使文本适合谷歌标记?

Javascript 如何使文本适合谷歌标记?,javascript,google-maps,google-maps-markers,Javascript,Google Maps,Google Maps Markers,我已经写了一个在屏幕上显示标记的代码。我在标记中有一个文本。文本为5位数字,与标记不符。如何使数字在标记内 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charse

我已经写了一个在屏幕上显示标记的代码。我在标记中有一个文本。文本为5位数字,与标记不符。如何使数字在标记内

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Google Map API V3: Add Marker</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<style type="text/css">
body { margin: 20; padding: 20 }
#map_canvas{
    width: 1024px;
    height: 740px;
}
</style>
<script type="text/javascript">
      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(47.576897,-122.419184),
          zoom: 12,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var locations = [

[47.648197,-122.282784,11500,"0"]

    ];
        var map = new google.maps.Map(document.getElementById("map_canvas"),
            mapOptions);
        var shape = {
      coord: [10, 10, 10, 20, 18, 20, 18 , 10],
      type: 'poly'
  };


        for (i = 0; i < locations.length; i++) { 

          var myLatlng = new google.maps.LatLng(locations[i][0], locations[i][1]);
          pinIcon = new google.maps.MarkerImage(
    'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld='+locations[i][2]+'|808000|0000FF',
    null, 
    null, 
    new google.maps.Point(140, 210),
    new google.maps.Size(40, 60)
    );       
          var marker = new google.maps.Marker({
            position: myLatlng,
            map: map,
            icon:pinIcon,
            shape:shape,
            title: locations[i][3]



        });
        }


      }
</script>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
</html>

谷歌地图API V3:添加标记
正文{边距:20;填充:20}
#地图画布{
宽度:1024px;
高度:740px;
}
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(47.576897,-122.419184),
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
变量位置=[
[47.648197,-122.282784,11500,"0"]
];
var map=new google.maps.map(document.getElementById(“map_canvas”),
地图选项);
变量形状={
坐标:[10,10,10,20,18,20,18,10],
类型:“poly”
};
对于(i=0;i

我想在我的标记内打印“11500”(位置[I][2]),但在尝试打印时,它超出了标记的范围。

主要问题是您使用的图表api中的图标错误。pin类型当然不能满足您显示文本的需要;在请求之后,您无法缩放它(就像您在代码中尝试的那样),因为您将随着文本缩放图标

因此,有两件事需要改变:

  • MarkerIcon已被弃用,幸运的是它很容易切换到图标
  • 使用设计用于显示文本的不同标记类型,可能吧
  • 下面是我刚刚测试的相关代码块:

    var myLatlng = new google.maps.LatLng(locations[i][0], locations[i][1]);
    var pinIcon = {
        url: 'http://chart.apis.google.com/chart?chst=d_bubble_text_small&chld=bb|'+locations[i][2]+'|C6EF8C|000000'
    };
    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        icon: pinIcon,
        title: locations[i][3]
    });
    
    我删除了
    shape
    属性,因为它对新图标不再有效。在缩放过程中会有一些图像移动,如果您愿意,可以使用属性来修复。最后,在该链接中有不同的样式可供自定义


    注意:如果要长时间使用,请知道charts api也已弃用,我认为它将持续到2015年。

    请提供代码和上下文。我已经输入了密码,你现在能帮我吗?有点紧急,谢谢你的帮助!