Witam serdecznie,
mam taki skrypcik GoogleMap:
var map = null;
var refreshTime = 5000;
var prevData = null;
var map;
var geocoder;
var address;
function load()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl ());
map.addControl(new GScaleControl());
map.addControl(new GMapTypeControl());
GEvent.addListener(map, "click", getAddress);
geocoder = new GClientGeocoder();
map.enableContinuousZoom();
map.enableDoubleClickZoom();
map.enableScrollWheelZoom();
map.setCenter(new GLatLng(52.173931692568, 18.8525390625),5);
GEvent.addListener(map, "moveend",function()
{
var ctr = map.getCenter();
$.cookie('svc1', ctr.lat(), { expires: 365 });
$.cookie('svc2', ctr.lng(), { expires: 365 });
$.cookie('svz', map.getZoom(), { expires: 365 });
}
);
GEvent.addListener(map, "zoomend",function()
{
$.cookie('svz', map.getZoom(), { expires: 365 });
}
);
reloadPoints();
} }
function getAddress(overlay, latlng) {
if (latlng != null) {
address = latlng;
// geocoder.getLocations(latlng, showAddress);
}
}
function addPoints(data)
{
if (prevData != data || data == null)
{
prevData = data;
eval("points = ("+data+")");
pointsCount = points.length;
map.clearOverlays();
var maxlng=0;
var maxlat=0;
var minlng=0;
var minlat=0;
for (var i=0; i<pointsCount; i++)
{
var etykietka = points[i]['etykietka'];
var point = new GLatLng(points[i]['lat'],points[i]['lng']);
map.addOverlay(createMarker(point, points[i]['satellite'], points[i]['autko']));
var label = new ELabel(new GLatLng(points[i]['lat'],points[i]['lng']), "<div style=\"background-color:#ccccff;border:2px solid black\"><small>"+ etykietka +"</small></div>", null, new GSize(6,-30), 75);
map.addOverlay(label);
if(points[i]['coto'] == 'autko')
{
if (minlat == 0)
minlat = points[i]['lat'];
else
minlat = Math.min(points[i]['lat'], minlat);
if (maxlat == 0)
maxlat = points[i]['lat'];
else
maxlat = Math.max(points[i]['lat'], maxlat);
if (minlng == 0)
minlng = points[i]['lng'];
else
minlng = Math.min(points[i]['lng'], minlng);
if (maxlng == 0)
maxlng = points[i]['lng'];
else
maxlng = Math.max(points[i]['lng'], maxlng);
}
}
var dlat = (maxlat - minlat)*0.1;
var dlng = (maxlng - minlng)*0.1;
var min = new GLatLng(minlat - dlat, minlng - dlng);
var max = new GLatLng(maxlat + dlat, maxlng + dlng);
var bounds = new GLatLngBounds(min, max);
if($.cookie('ruch')=='on')
{
if($.cookie('test')!=1)
{
map.setCenter(new GLatLng($.cookie('svc1'),$.cookie('svc2')),parseInt($.cookie('svz')));
$.cookie('test', '', { expires: 365 });
}
}
else
{
map.setZoom(map.getBoundsZoomLevel(bounds));
map.setCenter(bounds.getCenter());
}
}
}
function createMarker(point, satellite, autko)
{
var icon = new GIcon();
icon.image = autko;
icon.iconAnchor = new GPoint(16, 16);
icon.infoWindowAnchor = new GPoint(16, 16);
var marker = new GMarker(point, icon);
marker.value = satellite;
GEvent.addListener(marker, "click", function(){
var myHtml = satellite;
map.openInfoWindowHtml(point, myHtml);
});
return marker;
}
function reloadPoints()
{
loadPointData();
setTimeout(reloadPoints,refreshTime);
}
chciałbym żeby w chmurce dodawał się adres punktu. Znalazłem taki przykład:
http://code.google.com/apis/maps/documentation/examples/geocoding-reverse.html
tylko za bardzo nie chce mi wyjść połączenie tego.... :/
Wie ktoś może jak to zrobić??
Z góry dzięki WIELKIE za pomoc,
pozdrawiam Northwest