我在我的项目中使用GoogleMap API,其中特定车辆的位置是通过使用DB中的数据呈现的,我已经实现了这一点,我的问题是是否有可能获得标记上的数字,e。x车辆A从12月1日到2日已经在100个地方,我希望从1到100的数字显示它的路径,这是我的谷歌API的创建标记功能:
function createMarker(point, IMEI, Velocity, Ora, Data) {
var marker = new GMarker(point, iconBlue);
var html = "<b>" + "Ora: " + "</b>" + Ora + "<br/>" + "<b>" + "Data: " + "</b>"+ Data + "<br/>" + "<b>" + "Velocità: " + "</b>" + Velocity + " km/h" ;
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html); });
return marker;
}
这是使用的代码,其输出由googmapsapi.html使用,输出是一个简单的xml文件,其中包含许多"标记"标签,其中包含诸如长,晚,日期和时间等信息,是否可以使用此列表以某种方式获得数字?
// Opens a connection to a MySQL server
$connection=mysql_connect ("localhost","root","alphabravo");
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db("tracciasat", $connection);
if (!$db_selected) {
die ('Can't use db : ' . mysql_error());
}
// Select all the rows in the markers table
//$query = "SELECT * FROM sessione WHERE 1";
$query = "SELECT * FROM sessione WHERE Dat BETWEEN '$_GET[strt]' AND '$_GET[end]' AND IMEI = '$_GET[id]'";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<markers>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker ';
echo 'IMEI="' . parseToXML($row['IMEI']) . '" ';
echo 'Velocity="' . parseToXML($row['Velocity']) . '" ';
echo 'Ora="' . parseToXML($row['Ora']) . '" ';
echo 'Data="' . parseToXML($row['Dat']) . '" ';
echo 'lat="' . $row['Latitudine'] . '" ';
echo 'lng="' . $row['Longitudine'] . '" ';
//echo 'type="' . $row['type'] . '" ';
echo '/>';
}
// End XML file
echo '</markers>';
}
我想添加关于图标的代码,在我的情况下是一个blueIcon:
var iconBlue = new GIcon();
iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
iconBlue.iconSize = new GSize(12, 20);
iconBlue.shadowSize = new GSize(22, 20);
iconBlue.iconAnchor = new GPoint(6, 20);
iconBlue.infoWindowAnchor = new GPoint(5, 1);
谢谢你的时间!
检查以下url来自定义您的标记图标:
http://groups.google.com/group/Google-Maps-API/web/examples-tutorials-custom-icons-for-markers?pli=1好了,伙计们,跟随@ChristopheCVB的链接,我完成了!让我分享一下代码,以防将来有人需要
这段代码基本上创建了1000个图标,数字从1到1000不等,需要一个javascript文件mapiconmaker.js,所以要么下载它,把它和其他网站文件放在一起,
type="text/javascript"></script>
<script src="mapiconmaker.js" language="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var customIcons = [1000];
for(var j=0;j<1000;j++){
var iconOptions = {};
iconOptions.primaryColor = "#0000FF";
iconOptions.strokeColor = "#000000";
iconOptions.label = j.toString().replace();
iconOptions.labelColor = "#000000";
iconOptions.addStar = false;
iconOptions.starPrimaryColor = "#FFFF00";
iconOptions.starStrokeColor = "#0000FF";
customIcons[j] = MapIconMaker.createLabeledMarkerIcon(iconOptions);
}
之后,当googlemap api javascript函数渲染地图时,当它将标记分配给代码在这里的每个位置时,我使用这些标记:
GDownloadUrl("second.php?strt="+ysdate+"/"+msdate+"/"+dsdate+"&end="+yedate+"/"+medate+"/"+dedate+"&id="+ide, function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var IMEI = markers[i].getAttribute("IMEI");
var Velocity = markers[i].getAttribute("Velocity");
var Ora = markers[i].getAttribute("Ora");
var Data = markers[i].getAttribute("Data");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, IMEI, Velocity, Ora, Data, i);
map.addOverlay(marker);
}
});
}
}
function createMarker(point, IMEI, Velocity, Ora, Data, i) {
var marker = new GMarker(point, customIcons[i]);
var html = "<b>" + "Ora: " + "</b>" + Ora + "<br/>" + "<b>" + "Data: " + "</b>"+ Data + "<br/>" + "<b>" + "Velocità: " + "</b>" + Velocity + " km/h" ;
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html); });
return marker;
}
我是这个网站的新手,但真的很喜欢从专家那里获得免费和快速帮助的精神,随着时间的推移,我肯定会做出贡献,至少回馈我得到的一些东西。谢谢大家!
我很确定API不支持标记编号。我能想到两个不令人满意的选择。
- 设置zIndex,然后显示zIndex作为标记的标题
- 使用setIcon将MarkerImage更改为编号图形。
我通常有比这个更好的答案。
不需要自定义标记,因为Google有Google Chart Api: http://code.google.com/intl/de/apis/chart。我用它在我的应用程序中创建编号图标。