Aktív témák

  • bazsika33

    csendes tag

    Hello,

    Van 1 html-em és hozzá egy js. Utóbbi tartalmazza a pontjaimat és ezt:
    var mapOptions = {
    center: new google.maps.LatLng(20.754396,20.279948),
    zoom: 13,
    mapTypeId: google.maps.MapTypeId.NORMAL,

    A térképet több oldalon is megjelentetném, így azt szeretném h a térkép center-jét a html-ben lehessen beállítani. Hogy tudnám ezt megoldani?
    (Ugyanez a kód benne van a html-ben is, de a js centerje a meghatározó:
    var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
    var mapOptions = {
    zoom: 13,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.NORMAL)

    Köszönöm a segítséget!

  • floatr

    veterán

    válasz bazsika33 #1 üzenetére

    Nomost egyrészt egy kicsit zavaros, amit írtál, másrészt meg ez inkább a javascript topichoz kapcsolódik.

    Ha arra vagy kíváncsi, hogy egy külső scriptben megírt komponenst hogyan lehet különbözőképpen meghívni a beágyazó oldalból, akkor én úgy csinálnám, hogy a scriptben lévő teendőket metódus(ok)ba tenném, ami paramétereket fogad -- pl a térkép középpontjának koordinátáit -- majd a beágyazó oldalból mondjuk egy onInit eseménykezelőben oldaltól függő paraméterekkel hívnám meg a script metódusait.

  • bazsika33

    csendes tag

    válasz floatr #2 üzenetére

    Igen, ez így jól hangzik.
    Nem akartam bemásolni ez egész js-t és a html-t. Valójában nem értek ehhez, de már csak az a problémám maradt h jó lenne ha a html-ben tudnám megadni a térkép 'center marker'-jét. (a js-ben van közel 100 marker-em)

  • floatr

    veterán

    válasz bazsika33 #3 üzenetére

    Ha csak a hely a probléma, akkor http://pastebin.com/

    Amúgy sokat gyorsítana a megoldási procedúrán, ha leírnád, hogy pontosan mit szeretnél. Ha csak egy térképet akarsz megjeleníteni, akkor ahhoz nem kell a Maps API, elég egy IFRAME-be megadott url, amit a maps-ről/earth-ről mentesz le.
    Ha ragaszkodsz az API használatához, akkor meg a HTML-be tehetsz ilyet:

    ...
    <script type="text/javascript" src="sajatkodom.js"></script>
    <script type="text/javascript">
    function onLoad() {
    initMap(new google.maps.LatLng(-25.363882,131.044922));
    }
    </script>
    ...
    <body onload="javascript: onLoad();">...

    miközben a sajatkodom.js-ben meg a térképes babrálást így indítod, hogy

    function initMap(latlon) {
    var mapOptions = {
    zoom: 13,
    center: latlon,
    mapTypeId: google.maps.MapTypeId.NORMAL
    };
    ...
    }

    vagy efféle

    [ Szerkesztve ]

  • bazsika33

    csendes tag

    válasz floatr #4 üzenetére

    Az a gondom h van közel 100 markerem és jó lenne ha a térkép center-ét a html-ben tudnám megadni (tehát a Fehérház html-en a Fehérház marker-je legyen a térképem központja). A js-be alapból meg kell vmi center-t adni (és így minden html-ben ugyanaz lesz a center - még akkor is ha a center-t a html-ben is megadom...).
    Bocsánat, kicsit láma vagyok ehhez a témához. Ami eddig van azt is hetek alatt sikerült összehoznom. De legalább ismerkedem a témával......

    Tehát tömören a kódok:

    ---------- HTML ----------
    <script>
    function initialize() {
    var mapOptions = {
    zoom: 13,
    center: new google.maps.LatLng(20.805121,20.436148),
    mapTypeId: google.maps.MapTypeId.NORMAL
    };

    var map = new google.maps.Map(document.getElementById('map-canvas'),
    mapOptions);
    }

    function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
    'callback=initialize';
    document.body.appendChild(script);
    }

    window.onload = loadScript;

    </script>

    ---------- JS ----------
    var map;
    var marker;
    var icon;
    var image;
    var link;
    var to_html;
    var from_html;
    var infowindow;
    function initialize() {
    var mapOptions = {
    center: new google.maps.LatLng(10.777916,10.270348),
    zoom: 13,
    mapTypeId: google.maps.MapTypeId.NORMAL,

    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
    mapOptions);

    // -------------- MARKER 1

    var myLatlng = new google.maps.LatLng(0.805121,0.436148);
    var marker1 = new google.maps.Marker({
    position: myLatlng,
    map: map,
    icon: new google.maps.MarkerImage('../img/b.png'),
    tooltip: '...'
    });

    var tooltip1 = new Tooltip({map: map}, marker1);
    tooltip1.bindTo("text", marker1, "tooltip");
    google.maps.event.addListener(marker1, 'mouseover', function() {
    tooltip1.addTip();
    tooltip1.getPos2(marker1.getPosition());
    });
    google.maps.event.addListener(marker1, 'click', function() {
    map.setCenter(this.getPosition());
    map.setZoom(15);
    window.location.href = marker.url;
    });

    google.maps.event.addListener(marker1, 'mouseout', function() {
    tooltip1.removeTip();
    });
    // -------- END OF 1st MARKER

    // -------------- MARKER 2

    var myLatlng = new google.maps.LatLng(1.883236,1.443302);
    var marker2 = new google.maps.Marker({
    position: myLatlng,
    map: map,
    icon: new google.maps.MarkerImage('../img/c.png'),
    tooltip: '...'
    });

    var tooltip2 = new Tooltip({map: map}, marker2);
    tooltip2.bindTo("text", marker2, "tooltip");
    google.maps.event.addListener(marker2, 'mouseover', function() {
    tooltip2.addTip();
    tooltip2.getPos2(marker2.getPosition());
    });

    google.maps.event.addListener(marker2, 'mouseout', function() {
    tooltip2.removeTip();
    });
    // -------- END OF 2nd MARKER
    }

  • floatr

    veterán

    válasz bazsika33 #5 üzenetére

    Alapvetően ez a kódrészlet felelős a térkép központjának a meghatározásáért

    function initialize() {
    var mapOptions = {
    zoom: 13,
    center: new google.maps.LatLng([B]20.805121,20.436148[/B]),
    mapTypeId: google.maps.MapTypeId.NORMAL
    };
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    }

    ha egy HTML-ben ezeket a koordinátákat cseréled ki, akkor máshová ugrik. Az viszont nem vezet semmi jóra, ha a HTML-ben és a JS-ben is ugyanaz a metódus neve.

  • bazsika33

    csendes tag

    válasz floatr #6 üzenetére

    Igen, ez valóban nem szerencsés. Nincs is szükség arra a html-ben...

Aktív témák