找優仕美清潔公司
大掃除免煩惱!清潔打蠟、消毒殺菌
油漆粉刷加入客源網
每天多接2個客戶,做生意就是這麼簡單

首頁  •  j2h 論壇 • 程式設計討論     • 

[JQuery] google map + JQuery 十]大排名

房東:阿卡
發表時間:2011-04-18


<!-- Google maps and jQuery script, based on http://marcgrabanski.com/article/jquery-google-maps-tutorial-basics -->

<html>

 <head>

  <title>Google Maps and jQuery extended</title>

  <!-- http://code.google.com/apis/ajaxlibs/documentation/ -->

  <script type="text/javascript" src="/js/jquery-1.2.6.js"></script>

  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAhYLDigsVpz84AGTe6WVrZBQ9ha3oDqOvCaQiRzD8u5icJ0_NnRR-C1D6Azqe8x6Iv-vl7Ok6IA1T6w" type="text/javascript"></script>

  

  <script type="text/javascript" charset="utf-8">

  $(document).ready(function(){ //Start script when ready

   if (document.getElementById("map_canvas")) {//Checks to see that the page element exists and to prevent conflict with other maps

    

    //Default map center location

    var defaultLat = 50.5;

    var defaultLon = -1.4;

    

    var markers = new Array();

                markers[0] = new Array(new GMarker(new GLatLng(51.308124, -0.656756)), "Location1", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890");

                markers[1] = new Array(new GMarker(new GLatLng(50.82719221187368, -1.1597442626953125)), "Location2", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890<br /><a href='http://www.google.com'>google.com</a>");

                markers[2] = new Array(new GMarker(new GLatLng(50.933883, -1.397458)), "Location3", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890<br /><a href='http://www.google.com'>google.com</a>");

                markers[3] = new Array(new GMarker(new GLatLng(51.41, -0.76)), "Location4", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890");

                markers[4] = new Array(new GMarker(new GLatLng(50.93, -1.26)), "Location5", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890<br /><a href='http://www.google.com'>google.com</a>");

                markers[5] = new Array(new GMarker(new GLatLng(50.75, -1.38999)), "Location6", "<strong>Address Line</strong><br/>Some information<br />Can go here<br />01234 567 890<br /><a href='http://www.google.com'>google.com</a>");


    var map = new google.maps.Map2($("#map_canvas").get(0));//Initialise google maps

    map.setCenter(new GLatLng(defaultLat, defaultLon), 8);//Set location to the default and zoom level to 8

    map.disableDoubleClickZoom();//Disable zooming


    //This section works fine but does not animate on load

    /*

    $(markers).each(function(i,marker){

       map.addOverlay(marker[0]);

     $("<li />")

      .html(markers[i][1])//Use list item label from array

      .click(function(){

       displayPoint(marker[0], i);

       setActive(this);//Show active state

       if ($('#map_message').is(':hidden')) {//Allow toggling of active state

        setActive();

       }

      })

      .appendTo("#map_list");

     

        GEvent.addListener(marker[0], "click", function(){

      displayPoint(marker[0], i);

         setActive(i);//Show active location

      if ($('#map_message').is(':hidden')) {//Allow toggling of active state

       setActive();

      }

     });

    });

    */

    

    $.each(markers,function(i,marker){

     var delayTime = ((i * 3000) / (0.5 * markers.length));//Delay time decreases as number of markers increases

    

     setTimeout(function(){

      map.addOverlay(marker[0]);

      $("<li />")

       .html(markers[i][1])//Use list item label from array

       .click(function(){

        displayPoint(marker[0], i);

        setActive(this);//Show active state

       })

       .appendTo("#map_list");

     

      GEvent.addListener(marker[0], "click", function(){

       displayPoint(marker[0], i);

       setActive(i);//Show active location

      });

      

      displayPoint(marker[0], i);

      setActive(i);//Show active location

      if (i == (markers.length - 1)) {//If last item in array

       setTimeout(function(){//Remove active class and fade marker after delay

        $("#map_message").fadeOut();

        //setActive();

       }, 3500);

      }

     }, delayTime);

    });

    

    $("#map_list").css("opacity","0.2").animate({opacity: 1}, 1100);//Fade in menu

    $("#map_message").appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));

        

    function displayPoint(marker, index){

     if ($('#map_message').is(':hidden')) {//Allow toggling of markers

      $('#map_message').fadeIn();

     }

     else{//Remove all .active classes and hide markers

      $('#map_message').hide();

      $(".active").removeClass();

     }

     //$("#map_message").hide();//Default behaviour, doesn't allow toggling

     

     var moveEnd = GEvent.addListener(map, "moveend", function(){

      var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng());

      $("#map_message")

       .html(markers[index][2])//Use information from array

       .fadeIn()

       .css({ top:markerOffset.y, left:markerOffset.x });

     GEvent.removeListener(moveEnd);

     });

     map.panTo(marker.getLatLng());

    } 

    

    function setActive(el){

     $(".active").removeClass();//Remove all .active classes

     $("#map_list").find('li').eq(el).addClass('active');//Find list element equal to index number and set active

     $(el).addClass('active');//Set active if list element clicked directly

    }

   }//End if map_canvas exists

  }); //End onReady

  </script>


  <style type="text/css" media="screen">

.map{

height: 500px;

width: 800px;

margin: 0;

padding: 0;

border: 0;

}

#map_canvas{

float: left;

}

#map_list{

float: left;

height: 500px;

width: 150px;

margin: 0;

padding: 0;

background: #EBEBEB;

list-style: none;

}

#map_list li{

padding: .5em;

}

#map_list li:hover {

background: #555;

color: #FFF;

cursor: pointer;

cursor: hand;

}

#map_list li.active{

background: #555;

color: #FFF;

}

#map_list li.active:hover{

background: #363636;

cursor: default;

}

#map_message{

display: none;

position: absolute;

width: 12em;

padding: .5em;

background: #555;

font-size: .9em;

color: #FFF;

}

#map_message img{

border: 0;

margin-top: 0;

}

#map_message a{

color: #CAEAF9;

border-bottom: 1px solid #EBEBEB;

}

#map_message a:hover{

color: #FFF;

border-bottom: 1px solid #CAEAF9;

}

p{

clear: both;

margin-top: 1em;

}

  </style>

<!--[if IE 7]>

#map_list li{

width: 100%;

zoom: 1;

float: left;

}

<![endif]-->

 </head>

 <body>

     <div class="map" id="map_canvas"></div>

  <ul class="map_list" id="map_list"></ul> 

     <div id="map_message"></div>

  <p>You could also try the example that <a href="/gmapjqueryhover.html"> utilises hover effects</a>.</p>

 </body>


</html>


 


http://www.erikwhite.net/gmapjquery.html





  • 贊助網站       

    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務
    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!

  • 1 樓住戶:阿卡
    發表時間:2011-04-18

    http://southamptonspitfires.co.uk/media/venues

    http://emeraldcityliving.com/schools



     共 1 人回應  選擇頁數 【第1 頁】 

    姓名:
    佈告內容:
    其他選項: