<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java Blog for Alex Wan

    Let life be beautiful like summer flowers and death like autumn leaves.

    統計

    留言簿(10)

    BlogJava

    Blogs

    DIV+CSS

    JQuery相關

    友情鏈接

    常去的地方

    數據供應

    閱讀排行榜

    評論排行榜

    [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求

    前兩篇:

    [javascript]google map api 與jquery結合使用(1)--控件,監聽器

    [javascript]google map api 與jquery結合使用(2) --標注,浮窗

    創建圖標

    map.js

    $(document).ready(function()
    {
         
    if (GBrowserIsCompatible()) {
             
    var map = new GMap2(document.getElementById("map"));
            map.addControl(
    new GSmallMapControl());
            map.addControl(
    new GMapTypeControl());
            map.setCenter(
    new GLatLng(36.94,106.08),4);
            
    //創建小圖標
            var icon = new GIcon();
                    
    //圖標圖片
            icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
                    
    //圖標陰影圖片
            icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
                    
    //圖標大小
            icon.iconSize = new GSize(1220); 
                    
    //陰影大小
            icon.shadowSize = new GSize(2220);
                    
    //圖標錨點
            icon.iconAnchor = new GPoint(620);
                    
    //信息浮窗錨點
            icon.infoWindowAnchor = new GPoint(51);
            
    //隨機的添加10個標記
            var bounds = map.getBounds();
            
    var southWest = bounds.getSouthWest();
            
    var northEast = bounds.getNorthEast();
            
    var lngSpan = northEast.lng() - southWest.lng();
            
    var latSpan = northEast.lat() - southWest.lat();
            
    for (var i = 0; i < 10; i++{
            
    var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
                southWest.lng() 
    + lngSpan * Math.random());
            map.addOverlay(
    new GMarker(point, icon));
            }

            $(window).unload(
    function (){
                   $('.').unbind();
                   GUnload();
               }
    );
         }
    else
         
    {
             alert('你使用的瀏覽器不支持 Google Map
    !');    
         }

    }
    );

    使用小圖標的效果

    使用更復雜圖標樣式
    map.js

    $(document).ready(function()
    {
         
    if (GBrowserIsCompatible()) {
             
    var map = new GMap2(document.getElementById("map"));
            map.addControl(
    new GSmallMapControl());
            map.addControl(
    new GMapTypeControl());
            map.setCenter(
    new GLatLng(36.94,106.08),4);
            
    //創建一個圖標模板,指定陰影等
            var baseIcon = new GIcon();
            baseIcon.shadow 
    = "http://www.google.com/mapfiles/shadow50.png";
            baseIcon.iconSize 
    = new GSize(2034);
            baseIcon.shadowSize 
    = new GSize(3734);
            baseIcon.iconAnchor 
    = new GPoint(934);
            baseIcon.infoWindowAnchor 
    = new GPoint(92);
            baseIcon.infoShadowAnchor 
    = new GPoint(1825);
            
    //創建用指定字母作為前景圖的圖標
            function createMarker(point, index) {
            
    // Create a lettered icon for this point using our icon class
            var letter = String.fromCharCode("A".charCodeAt(0+ index);
            
    var icon = new GIcon(baseIcon);
            icon.image 
    = "http://www.google.com/mapfiles/marker" + letter + ".png";
            
    var marker = new GMarker(point, icon);
            GEvent.addListener(marker, 
    "click"function() {
            marker.openInfoWindowHtml(
    "Marker <b>" + letter + "</b>");
            }
    );
            
    return marker;
            }

            
    //隨機添加10個標記
            var bounds = map.getBounds();
            
    var southWest = bounds.getSouthWest();
            
    var northEast = bounds.getNorthEast();
            
    var lngSpan = northEast.lng() - southWest.lng();
            
    var latSpan = northEast.lat() - southWest.lat();
            
    for (var i = 0; i < 10; i++{
                
    var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
                    southWest.lng() 
    + lngSpan * Math.random());
                map.addOverlay(createMarker(point, i));
            }

            $(window).unload(
    function (){
                   $('.').unbind();
                   GUnload();
               }
    );
         }
    else
         
    {
             alert('你使用的瀏覽器不支持 Google Map
    !');    
         }

    }
    );

    用指定字母作為前景圖的圖標效果

    在地圖上使用XML和異步請求(AJAX)

    map.js
    $(document).ready(function()
    {
         
    if (GBrowserIsCompatible()) {
             
    var map = new GMap2(document.getElementById("map"));
           map.addControl(
    new GLargeMapControl());
            map.addControl(
    new GOverviewMapControl());
             
            map.addControl(
    new GMapTypeControl());
            map.setCenter(
    new GLatLng(36.94,106.08),4);
                    
    //ajax請求
            GDownloadUrl("locations.xml"function(data, responseCode) {//回調函數
            var xml = GXml.parse(data);
            
    var markers = xml.documentElement.getElementsByTagName("marker");//解析xml,有多種方法
            for (var i = 0; i < markers.length; i++{
                
    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                parseFloat(markers[i].getAttribute(
    "lng")));
                map.addOverlay(
    new GMarker(point));
            }

            }
    );
            $(window).unload(
    function (){
                   $('.').unbind();
                   GUnload();
               }
    );
         }
    else
         
    {
             alert('你使用的瀏覽器不支持 Google Map
    !');    
         }

    }
    );

    locations.xml
    <markers>
    <marker lat="39.98629852076348" lng="116.3574438359872"/>
    <marker lat="29.94176113301537" lng="112.6857368551186"/>
    </markers>

    ajax的效果圖

    對google map api的使用暫告一段落。

    Let life be beautiful like summer flowers and death like autumn leaves.

    posted on 2008-11-19 00:22 Alexwan 閱讀(2897) 評論(5)  編輯  收藏 所屬分類: JavaScript

    評論

    # re: [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求 2008-11-19 20:17 網站優化

    不會用呀.  回復  更多評論   

    # re: [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求 2008-11-20 11:51 Alexwan

    看看前面兩篇文章或許有點幫助。  回復  更多評論   

    # re: [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求 2008-12-23 18:52 網站建設

    呵呵,不錯啊  回復  更多評論   

    # re: [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求 2008-12-23 18:53 網站優化

    路過,路過  回復  更多評論   

    # re: [javascript]google map api 與jquery結合使用(3) --圖標樣式,使用xml和異步請求 2010-07-06 21:45 淘寶網

    經典啊,有個打包的例子就更好了,我的網站 http://www.2zhai.com 正要用呢  回復  更多評論   

    主站蜘蛛池模板: a级毛片免费高清毛片视频| 91麻豆最新在线人成免费观看| 亚洲精品国产品国语在线| 麻豆视频免费播放| 免费又黄又爽又猛大片午夜| 久久精品夜色国产亚洲av| 国产精品免费观看久久| 国产免费久久精品99久久| 亚洲婷婷在线视频| 亚洲日韩中文在线精品第一| 麻豆视频免费播放| 国产精品免费观看视频| 色偷偷女男人的天堂亚洲网| 国产中文在线亚洲精品官网| 可以免费看的卡一卡二| 国产精品免费久久久久电影网| 亚洲一区二区三区乱码在线欧洲| 亚洲伊人久久综合影院| 在线观看免费毛片| 午夜网站在线观看免费完整高清观看| 久久精品亚洲日本波多野结衣| 久久久亚洲欧洲日产国码二区 | 91成年人免费视频| 一级做a爰性色毛片免费| 7777久久亚洲中文字幕| 亚洲va在线va天堂va888www| 免费国产成人午夜电影| 在线观看无码AV网站永久免费 | 美女视频黄的免费视频网页 | 国产亚洲高清在线精品不卡| 中文字幕亚洲免费无线观看日本| 亚洲另类少妇17p| 日本免费电影一区| 国产va免费精品观看精品| 久久久久免费精品国产| 一级特黄色毛片免费看| 亚洲精品无码高潮喷水A片软| 亚洲最大在线视频| 日韩精品亚洲人成在线观看| 亚洲日韩av无码| 国产精品亚洲产品一区二区三区|