Имам проблеми с превода на скрипт с google maps от API2 на API3. Скриптът работи по този начин - На картата има един маркер и потребителят може да го плъзне или да щракне върху картата и да премахне този маркер, за да щракне върху място, координатите с текущата позиция на маркера отиват на скрит вход. Това е скриптът:
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<!-- google maps -->
<!-- Do rejestracji -->
<script type='text/javascript'>
<!--
var mapa;
var marker;
function mapaStart()
{
if(GBrowserIsCompatible())
{
mapa = new GMap2(document.getElementById("doMeeting"));
mapa.setCenter(new GLatLng(52.348763181988076, 18.61083984375), 6, G_HYBRID_MAP);
mapa.addControl(new GLargeMapControl());
mapa.addControl(new GMapTypeControl());
marker = new GMarker(mapa.getCenter(),{icon: marker, draggable: true});
mapa.addOverlay(marker);
// zdarzenia dla markera
GEvent.addListener(marker,'drag',uaktualnijWspolrzedne);
GEvent.trigger(marker,'drag');
// zdarzenia dla mapy
GEvent.addListener(mapa,'click',function(o,p)
{
if(p)
{
marker.setPoint(p);
uaktualnijWspolrzedne();
}
});
}
}
function uaktualnijWspolrzedne()
{
var input_lat = document.getElementById('lat');
var input_lng = document.getElementById('lng');
var punkt = marker.getLatLng();
input_lat.value = punkt.lat();
input_lng.value = punkt.lng();
}
</script>
И изглед:
<div id="doMeeting" style="width: 400px; height: 400px;"></div>
<input type="hidden" id="lat" name="lat"/>
<input type="hidden" id="lng" name="lng"/>
И моят проблем е, че моят скрипт за превод не работи като стария. Маркерът може само да плъзга, опцията с щракване върху картата няма да работи и координатите на позицията на маркера не отиват за въвеждане. Нямах опит с Google Maps или JavaSript, така че моля за помощ. Ето как се опитвам да преведа скрипта:
<script type='text/javascript'>
<!--
var mapa;
function mapaStart()
{
mapOpc = {
center:new google.maps.LatLng(52.348763181988076, 18.61083984375),
zoom:6,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
mapa=new google.maps.Map(document.getElementById("doMeeting"),mapOpc);
var marker=new google.maps.Marker({
position:new google.maps.LatLng(52.348763181988076, 18.61083984375),
draggable: true,
map: mapa,
});
marker.setMap(mapa);
// zdarzenia dla markera
google.maps.event.addListener(marker,'drag', uaktualnijWspolrzedne);
google.maps.event.trigger(marker,'drag');
// zdarzenia dla mapy
google.maps.event.addListener(mapa,'click',function(event)
{
marker.setPoint(event);
uaktualnijWspolrzedne();
});
}
function uaktualnijWspolrzedne()
{
var input_lat = document.getElementById('lat');
var input_lng = document.getElementById('lng');
var punkt = marker.getLatLng();
input_lat.value = punkt.lat();
input_lng.value = punkt.lng();
}
google.maps.event.addDomListener(window, 'load', mapaStart);
</script>
marker.setPoint(event);
няма да работи, ще трябва да направитеmarker.setPoint(event.latLng);
- person duncan   schedule 26.11.2014