WEB中Google地图使用

更新时间:2023-06-09 03:18:13 阅读: 评论:0

WEB中Google地图使用
在网页中弹出层,显示Google地图,获取经纬度并进行相关操作
    由于本人纯属菜鸟级貌似程序员,一直不敢在园子里胡乱涂鸦,而在这篇文章发出之前,也是思考再三,难道就一直躲在园子的角落里,不敢出声,还是偶尔露个头,让大伙狂拍,由于园子里小牛大牛cornwall多的是,而我这个初生牛犊终于在技术战胜理智之后,写了这篇让高手们甚至可以嗤之以鼻的烂文,当然在学习中没有什么不好意思的,所谓不耻下问,学习中是不存在羞耻与否,想到这里随即把昨天做的东西分享一下,权作抛砖引玉,望高手们猛拍板砖,小弟虚头待拍!如此开场白,定让大伙烦不可耐,还是切入正题;
      要说那个公司比较厚道,一般人都会说Google还比较不错的,不像微软总是expect的用法浑家”我们用盗版,就拿Google Maps 来说,完全免费的,只需注册一个KEY,就可以随心所欲的搞自己的Google maps ,当然我在此之前没有深入研究过,刚好项目中要运用,于是就临时抱一下佛脚,总算是达到预期的效果。需求也很简单就是商家在添加自己的资料时,在Google maps 找一下经纬度,添加后在网页的地图中显示商家,并做标记等。拿到这个需求时,于是就在脑海中形成思路,且一步一步做出来:
      1.在页面中添加一个按钮,可以弹出一个层来,弹出层后用滤镜把页面控制一下,虽然在CSS2.1中,“filter”不是已知的 CSS 属性名。但并不妨碍其结果,显示,隐藏层代码如下
      function showDiv(id)
        {
            var bgdiv = $("#" + id);
            $("<div id='filterDiv'></div>").addClass("filterDiv")
                                  .width("100%")
                                  .height("100%")
                                  .click(function () { hideDiv(id); })
                                  .appendTo("body")
                                  .fadeIn(200);
          bgdiv.css({ "position": "absolute" })
              .animate({ left: "200px",
                  top: "250px", opacity: "show"
              }, "slow");
        }
        //点击确定时删除层叠,隐藏地图,并为文本框赋值,达到预期效果born和borne
        function hideDiv(id)
        {
            $("#filterDiv").remove();
            $("#" + id).animate({ left: 0, top: 0, opacity: "hide" }, "slow");
        } 
        在这里widthgmat黄历height都给了100%,而且层的定位也是给死的,在实际运用中可以变通一下,这里调用了Jquery,所以要把
        <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>导进来,可以忽略jQuery版本
2.页面代码
  <div id='div-id' class="sideDiv"> 
            <div class="mapDiv" id="map" > </div>
            <input id="btnClo" type="button" onclick="hideDiv('div-id');" value="确定"/>
        </div>
    <input type="button" id="btnTest"  value="弹出地图" onclick="showDiv('div-id');"/><br />
  <asp:TextBox ID="TextBox1" runat="rver"></asp:TextBox>putinto
  <asp:TextBox ID="TextBox2" runat="rver"></asp:TextBox>
  两个TextBox是用来保存经纬度的
3.CSS代码如下:
  <style type="text/css">
        .sideDiv { 
            z-index: 9999;
            margin-bottom: 3px; 
            display: none; 
            position: absolute; 
            border:solid 1px #6e8bde; 
        } 
        .mapDiv { 
            clear: both; 
            margin: 4px; 
            padding: 2px; 
        }
        .filterDiv { 
            color:#C7EDCC;
            background-color:inherit;
            position:absolute;
            top:0px;
            left:0px;
幼小衔接数学怎么教          filter:alpha(opacity=50);
        }
    </style>
    CSS中,给z-index属性足够大,层叠的效果就不必担心
    filter的属性在IE中显示要设置alpha(opacity=50
  4.加载Google地图时先给一个key
  <script src=""
 type="text/javascript"></script>
 如果是中文显示则要把修改成 有了这个key直接可以写个方法,在页面加载就可以了
 <script type="text/javascript">
        function initialize() {
            if (GBrowrIsCompatible()) {
                //加载地图在div中显示
                var map = new ElementById("map"));
                //设置中心坐标,缩放等级
                map.tCenter(new GLatLng(31.314635, 120.634346), 13);
                //控制器类型
                map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10, 10)));
                //加入卫星和混合地图标签
                map.addControl(new GHierarchicalMapTypeControl());
                //albania鼠标滑轮控制地图缩放
                ableScrollWheelZoom();
                //搜索控件,便于快速定位到商家地址
                ableGoogleBar();
              //定义一个标记
                var myMarker = null;
                //点击获取经纬度
                clickListener = GEvent.addListener(map, "click", function (marker, point) {
                    if (point) {
                        alert("经度" + point.x + ",纬度" + point.y);
                        //把获得的经纬度保存起来
英语缩略词                        ElementById("<%=TextBox1.ClientID %>").value = point.x;
                        ElementById("<%=TextBox2.ClientID %>").value = point.y;
                    }
                    if (myMarker != null) {
                        //移除之前的标记
                        veOverlay(myMarker);
                    }
                    myMarker = new GMarker(point);
                    //在点击位置加标记
                    map.addOverlay(myMarker);
packing                }
      );
            }
        }
 </script>
 
 加载地图
  <body onload="initialize()" onunload="GUnload()">
  如果用模板页时在模板页中添加<body  onunload="GUnload()"> 在内容窗体中
  js调用:<script language="javascript" type="text/javascript">
        initialize();
    </script>

本文发布于:2023-06-09 03:18:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/907879.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:谷歌地球教程
标签:地图   显示   经纬度
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图