Javascript 如何使文本适合谷歌标记?
我已经写了一个在屏幕上显示标记的代码。我在标记中有一个文本。文本为5位数字,与标记不符。如何使数字在标记内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
<!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类型当然不能满足您显示文本的需要;在请求之后,您无法缩放它(就像您在代码中尝试的那样),因为您将随着文本缩放图标 因此,有两件事需要改变:
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年。请提供代码和上下文。我已经输入了密码,你现在能帮我吗?有点紧急,谢谢你的帮助!