Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: cliv en Junio 06, 2014, 07:42:23 am
-
I download ImageGPS from "Coordenadas GPS en imagenes" and i modify to show infoWindows for one marker and hide one marker.
Now i try to show multiple markers from an xml file ... and then hide all...but I did something wrong because i do not work with java.
File "data.xml" contain data for markers and file "downloadXML.js" contain java script to read xml data file...and was added to "mapa.html"
<script type="text/javascript" src="downloadXML.js"></script>
(http://i62.tinypic.com/sy56rq.jpg) (http://i62.tinypic.com/sy56rq.jpg)
Source Code
http://http://www.mediafire.com/download/aanup8ijq338pnx/MapaNew.rar (http://www.mediafire.com/download/aanup8ijq338pnx/MapaNew.rar)
Please help me to modify java to show and hide multiple markers...
Thank you..
-
Version 2
http://www.mediafire.com/download/m50m48dbggy2fh5/Mapa2.rar (http://www.mediafire.com/download/m50m48dbggy2fh5/Mapa2.rar)
-
Hi Cliv, the problems is the var marker, must be declared as an array, var marker = new Array(); then stores each google.maps.Map () within this array
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0}
#map_canvas { height: 100% }
</style>
<script type="text/javascript"src="http://maps.googleapis.com/maps/api/js?&sensor=false"></script>
<script type="text/javascript" src="downloadXML.js"></script>
<script type="text/javascript">
var map
var marker = new Array();
var ObjParent
function initialize(Lat, Lng) {
var latlng = new google.maps.LatLng( 44.314337, 23.797633);
var mapOptions = {
center: latlng,
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
panControl: false,
streetViewControl: false,
zoomControl: false
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
marker[0] = new google.maps.Marker({
position: latlng,
icon:'MapPin.png',
draggable:false,
map:map,
title:"Click for coordonate"
});
google.maps.event.addListener(marker[0], 'click', function(event) {
var point_click = marker.getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
}
function show_position(Lat, Lng, showInfo, strHeader, strComment){
var pos=new google.maps.LatLng(Lat, Lng);
map.setCenter(pos);
marker[0].setPosition(pos);
marker[0].setMap(map);
marker[0].setTitle("Click for coordonate");
if (showInfo==true) {
var html_text = "<table><tr><td style='font-family:Arial, Helvetica, sans-serif;font-weight:bold; color:#FF0000; font-size:20px'>" + strHeader + "</td></tr><tr><td>" + strComment + "</td></tr><tr><td align='center'></td></tr></table>";
var infowindow = new google.maps.InfoWindow({
content: html_text
});
infowindow.open(map,marker[0]);
}
}
function hide_position() {
marker[0].setMap(null);
}
function show_multiposition(xmlFile,showInfo){
downloadUrl(xmlFile, function(data) {
var xml = xmlParse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("Lat")),
parseFloat(markers[i].getAttribute("Lng")));
var markerHeader = markers[i].getAttribute("Header");
var markerComment = markers[i].getAttribute("Comment");
//alert(point);
marker[i] = new google.maps.Marker({draggable:false,icon:'MapPin.png'});
map.setCenter(point);
marker[i].setPosition(point);
marker[i].setMap(map);
marker[i].setTitle("Click for coordonate");
if (showInfo==true) {
var html_text = "<table><tr><td style='font-family:Arial, Helvetica, sans-serif;font-weight:bold; color:#FF0000; font-size:20px'>" + markerHeader + "</td></tr><tr><td>" + markerComment + "</td></tr><tr><td align='center'></td></tr></table>";
var infowindow = new google.maps.InfoWindow({
content: html_text
});
infowindow.open(map,marker[i]);
}
}
});
}
function hide_multiposition() {
// Hide multi marker
for (var i = 0; i < marker.length; i++) {
marker[i].setMap(null);
}
}
</script>
</head>
<body scroll="no" onload="initialize(0, 0)">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>
-
Thank you very much but I think Click Event should be
google.maps.event.addListener(marker[0], 'click', function(event) {
var point_click = marker[0].getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
-
if you want to add the click event, add these lines but do not forget to replace
google.maps.event.addListener(marker[0], 'click', function(event) {
var point_click = marker[0].getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
google.maps.event.addListener(marker[i], 'click', function(event) {
var point_click = marker[i].getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
-
Thank you for multi - click event but not work .... i have an error
(http://i57.tinypic.com/2e199bq.jpg)
-
i change:
google.maps.event.addListener(marker[i], 'click', function(event) {
var point_click = marker[i].getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
to:
google.maps.event.addListener(marker[i], 'click', function(event) {
var point_click = this.getPosition();
ObjParent.ClickMarkerEvent(point_click.lat(),point_click.lng());
});
and now work!
Thank you Leandro ...