`

调用google地图

 
阅读更多
引言:今天一个朋友问我象51job那样的地图怎样实现的,我就网上收集了大家两个简单的使用方法
A.这个非常简单,是静态的
具体参考:
http://code.google.com/intl/zh-CN/apis/maps/documentation/staticmaps/
<html>
<head>
</head>
<body>
<img  src='http://maps.google.com/maps/api/staticmap?center=39.9942100,116.3645000,13&zoom=14&size=512x512&maptype=roadmap
&markers=color:blue|label:S|39.987889,116.350029&markers=color:green|label:G|39.9942100,116.3645000
&markers=color:red|color:red|label:C|39.987889,116.350029&sensor=false'/>
</body>
</html>




B.这个应用非常实用,但不是很简便,是动态的
<html>  
<head>  
<title>Google Map API</title>  
<script src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAA6vpS801yIrtuIMuUfP_1LRSxsn5a65eZaAi_5C9z2RjNFFY5KBSBb4uXgDPOoqPTKZ5RfZHQ1HTweA&sensor=true" type="text/javascript"></script>   
              
              
<script type="text/javascript">   
  
var map;  //当前的地图对象  
  
//初始化  
  function load() {  
    
    if (GBrowserIsCompatible()) {  
      map = new GMap2(document.getElementById('map_canvas'));  
        
      // 给地图添加内置的控件,分别为:  
      // 平移及缩放控件(左上角)、比例尺控件(左下角)、缩略图控件(右下角)  
      map.addControl(new GLargeMapControl());  
      map.addControl(new GScaleControl());  
      map.addControl(new GOverviewMapControl());  
        
       // 将视图移到点的位置  
      map.setCenter(new GLatLng(39.987889,116.350029), 13);  
        
      //手动创建一个标注  
      var point = new GLatLng(39.9942100, 116.3645000);   
      var marker=new GMarker(point);  
     map.addOverlay(marker);       
      
        GEvent.addListener(marker, 'click',   
            function() {  
                var div=document.createElement("div");  
                div.innerHTML=document.getElementById("descs1").innerHTML;  
              marker.openInfoWindow(div);  
            }  
        );  
          
        //当在地图单击时加入创建一个新的标注  
        GEvent.addListener(map, 'click', onMapClick);  
    }  
  }  
    
  function onMapClick(marker, point) {    
  if (marker)  
    return;  
  // 创建标注,并添加到链表中  
  var newMarker = new GMarker(point, {draggable: true});  
//  alert(point);  
  map.addOverlay(newMarker);  
  //为新的标注加入注释  
  GEvent.addListener(newMarker, 'click', function(){onMarkerClick(newMarker,point)});  
}  
  
function onMarkerClick(marker,point) {   
  // 为气泡提示窗口创建动态 DOM 对象,这里我们用 DIV 标签  
 // alert(typeof(marker)+","+typeof(point));  
  var div = document.createElement('div');  
  div.style.fontSize = '10.5pt';  
  div.style.width = '250px';  
  div.appendChild(  
    document.createTextNode(document.getElementById("pDesc").value+",坐标:"+formatLatLng(point)));  //formatLatLng(point) 获取坐标的函数  
      
  var hr = document.createElement('hr');  
  hr.style.border = 'solid 1px #cccccc';  
  div.appendChild(hr);  
    
  // 创建“删除”按钮  
  var lnk = document.createElement('div');  
  lnk.innerHTML = "删除";  
  lnk.style.color = '#0000cc';  
  lnk.style.cursor = 'pointer';  
  lnk.style.textDecoration = 'underline';  
    
  // 为“删除”按钮添加事件处理:调用 removePoint() 并重新计算距离  
  lnk.onclick =  
    function() {  
      map.closeInfoWindow();  
      map.removeOverlay(marker);  
    };  
  div.appendChild(lnk);    
  // 当用户关闭气泡时 Google Map API 会自动释放该对象   
  marker.openInfoWindow(div);  
}  
  
//格式化经纬度  
function formatLatLng(pt) {  
   
  var latName, lngName;  
  var lat = pt.lat();  
  var lng = pt.lng();  
  latName = lat >= 0 ? '北纬' : '南纬';  
  lngName = lng >= 0 ? '东经' : '西经';  
  
  return lngName + formatDegree(lng) + ','   
    + latName + formatDegree(lat);  
}  
//格式化度数  
 function formatDegree(value) {  
  value = Math.abs(value);  
  var v1 = Math.floor(value);  
  var v2 = Math.floor((value - v1) * 60);  
  var v3 = Math.round((value - v1) * 3600 % 60);  
  return v1 + '°' + v2 + '\'' + v3 + '"';  
}  
    </script>   
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>  
  
<body onLoad="load()" onUnload="GUnload()">   
  <div>点击地图可以创建新的标注,在创建新标注前先加入注解:<br>  
    <textarea id="pDesc" style="width:600px; height:50px"></textarea>  
</div>  
<div id="map_canvas" style="width: 1024px; height: 600px"></div>   
      
    <div id="targetDescs" style="display:none">  
  <div id="descs1">  
    <img src='http://www.catalogeasy.cn/images/index_r2_c3.jpg'><br><a href='http://www.xxxxxx.com'>XXXXX有限公司</a> 联系电话:010-XXXXXX18  
    </div>  
</div>  
</body>   
  
</html>




具体参考:
http://code.google.com/intl/zh-CN/apis/maps/

C.这是转自vifix的博客的谷歌地图应用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>地理位置坐标转换</title>
    <script src="http://ditu.google.cn/maps?file=api&amp;v=2&amp;key=ABQIAAAAe3YR_oZq7RQougOHlEQYxRTrT8HRiYVHGz6s-cexYhuHznMTnBQJ3hrfCSvSmQ_Fqr80B62kDy8djA&sensor=true" type="text/javascript"></script>
    <script type="text/javascript">
    window.g = {};
    window.$ = function(id){return document.getElementById(id)};
    window.onload = function() {
        if (GBrowserIsCompatible()) {

            g.map = new GMap2($("map"));
            g.map.addControl(new GLargeMapControl());
            g.map.addControl(new GMapTypeControl());
            g.map.addControl(new GScaleControl());

            g.geocoder = new GClientGeocoder();

            g.getCoordinates = function(address) {
                g.geocoder.getLatLng(
                    address,
                    function(point) {
                        if (point)
                        {
                            g.map.setCenter(point, 13);
                            var marker = new GMarker(point);
                            g.map.addOverlay(marker);
                            var info = "<strong>" + address + "</strong><br />坐标: " + point.lat() + "," + point.lng();
                            $("info").innerHTML = info;
                            marker.openInfoWindowHtml(info);
                            marker.__address_info = info;
                            GEvent.addListener(marker, "click", function() {
                                g.map.setCenter(this.getLatLng());
                                this.openInfoWindowHtml(this.__address_info);
                                $("info").innerHTML = info;
                            });
                        }
                        else
                        {
                            alert("无法解析: " + address);
                        }
                    }
                )
            }

            $("btn_go").onclick = function(){
                g.getCoordinates($("address").value);
            }
            $("btn_go").onclick();
        }
        else {
            alert('不支持的浏览器');
        }
    }
    window.onunload = function(){
        GUnload();
    }
    </script>
    <style media="screen">
    body{
        margin:0;
        padding:0;
        font-size:9pt;
        line-height:1.5em;
    }
    #frame{
        width:700px;
        margin:20px auto 10px;
    }
    #form{
        margin:0 0 10px;
        text-align:center;
    }
    #form input{
        border:1px solid #ccc;
        font-size:9pt;
        width:200px;
    }
    #form button{
        font-size:9pt;
        border:1px solid #ccc;
    }
    #form button:hover{
        background:#eef;
    }
    #map{
        height:400px;
        margin:0 0 10px;
        border:5px solid #ccc;
    }
    #vifix{
        text-align:center;
    }
    #vifix a{
        color:#f00;
        text-decoration:none;
    }
    #vifix a:hover{
        color:#f96;
    }
    </style>
</head>

<body>
    <div id="frame">
        <div id="form">
            输入一个地址: <input id="address" value="杭州市西湖三潭印月" /> <button id="btn_go">获取坐标</button>
        </div>
        <div id="map"></div>
        <div id="info">
        </div>
        <div id="vifix">
            Powered by <a href="http://code.google.com/apis/maps/" target="_blank">Google Map API</a> / Created by <a href="http://vifix.cn">vifix.cn</a>
        </div>
    </div>
</body>

[img]http://dl.iteye.com/upload/attachment/551622/3bbf51f6-3014-331a-a951-f71d3a9a43dc.jpg[/img]

</html>


具体参考:
http://vifix.cn/blog/convert-address-to-coordinates-google-map-api.html

  • 大小: 191.9 KB
  • 大小: 61.7 KB
  • 大小: 128.2 KB
分享到:
评论

相关推荐

    调用google 地图api实例

    在IT行业中,调用Google地图API是一个常见的任务,特别是在开发涉及地理位置信息的应用程序时。本实例专注于使用Java语言调用Google Maps API,并将其集成到一个内嵌浏览器中,以实现地址到经纬度坐标的自动转换,并...

    Asp.Net中调用google地图(GooleMap)实例

    Asp.Net中调用GooleMap Asp.Net中调用google地图GooleMap实例 google地图 GooleMap实例 请访问:http://www.veisun.com(网站建设,软件开发)

    testQt调用谷歌地图.7z

    在本文中,我们将深入探讨如何使用Qt框架调用谷歌地图,并通过JavaScript(JS)进行代码修改,以便在跨平台上开发地图应用。这个压缩包文件"testQt调用谷歌地图.7z"包含了实现这一功能所需的源代码和项目配置文件。 ...

    JS调用Google地图实现单机获得地图坐标

    JS调用Google地图 js获得Google地图坐标 左键单机获得google地图坐标以及中心坐标 缩放度

    LabVIEWlabview调用google地图源代码.rar

    在LabVIEW中,我们需要了解如何在Web浏览器VI中正确设置URL,以调用Google Maps API并传递参数。 4. **地理坐标系统**:在使用Google Maps时,需要理解经纬度系统,这是表示地球上任何位置的标准方式。LabVIEW可能...

    调用google地图事例

    在IT行业中,调用Google地图是一项常见的任务,特别是在Web开发中。本案例主要涉及的是如何在JSP(Java Server Pages)环境中使用Java语言来集成和操作Google Maps API。Google Maps API是一个强大的工具,允许...

    Arcgis server for flex 如何调用google地图

    3. **初始化Google Maps**:使用`ExternalInterface.call()`调用Google Maps API的初始化函数,设置地图的中心位置、缩放级别等参数。 4. **创建ArcGIS Map**:在Flex代码中,创建一个`Map`对象,加载ArcGIS Server...

    GPS定位并调用谷歌地图源代码

    本项目标题为"GPS定位并调用谷歌地图源代码",意味着它提供了使用GPS获取位置信息,并在谷歌地图上进行展示的编程实践。以下将详细介绍相关知识点。 1. GPS定位原理:全球定位系统(GPS)通过接收来自多个卫星的...

    labview调用google地图源代码.zip源码Labview个人项目资料程序资源下载

    labview调用google地图源代码.zip源码Labview个人项目资料程序资源下载labview调用google地图源代码.zip源码Labview个人项目资料程序资源下载labview调用google地图源代码.zip源码Labview个人项目资料程序资源下载...

    labview中调用google地图,

    在LabVIEW中调用Google Maps通常涉及到使用HTTP请求与Google Maps API交互。 3. **嵌入地图**:在LabVIEW中嵌入Google地图,首先需要获取API密钥。这是访问Google Maps服务的凭证,可以通过Google Cloud Console...

    labview调用google地图源代码.zip

    《LabView调用Google地图源代码解析》 LabView(Laboratory Virtual Instrument Engineering Workbench)是一种基于图形化编程的开发环境,专为测试、测量和控制应用设计。它以其直观的“虚拟仪器”界面和强大的...

    java调用goole地图

    在IT行业中,跨语言交互是常见的需求之一,本示例主要关注如何利用Java来调用Google地图服务。Google地图API提供了丰富的功能,包括但不限于地理位置查询、地图显示、路线规划等。下面将详细介绍如何通过Java来实现...

    iphone调用google地图显示

    在iOS开发中,调用Google地图显示是一项常见的需求,尤其对于iPhone应用来说。这个名为"MapDemo"的项目很可能是为了演示如何在iPhone应用中集成并使用Google Maps SDK来显示地图。下面我们将深入探讨这个主题。 ...

    调用googleMap的一个小小应用

    总结来说,这个“调用googleMap的一个小小应用”是一个结合了Google Maps API的Web应用示例,涵盖了地图初始化、标记添加、用户交互处理等功能,可能还包括自定义的服务器端处理逻辑(如MapServlet)。通过学习这个...

    winform调用goole地图

    在Windows Forms(Winform)应用中,调用Google地图通常是为了在应用程序中集成地图功能,让用户能够查看地理位置、导航或进行其他地图相关的操作。这里我们主要讨论如何利用WebBrowser控件来实现这一目标。 ...

    WPF+ArcGIS API 调用Google地图

    调用Google地图服务可能需要API密钥。虽然Google地图主要用于Web应用,但通过一些方式,也可以在桌面应用中使用。在实际项目中,确保获取并正确使用API密钥以避免访问限制。 4. **交互和定制**: ArcGIS API 提供...

    js 实现谷歌地图调用

    js调用谷歌地图的接口,使用js,根据传入的参数调用谷歌地图,进行相对应显示。

    google地图调用

    在这个实例中,我们将深入探讨如何调用Google地图API来实现定位和轨迹回放的功能。 首先,我们需要了解的是Google Maps JavaScript API,这是Google提供的一种服务,允许开发者在网页上嵌入地图并进行各种自定义...

    labview源码labview调用google地图源码

    labview源码labview调用google地图源代码本资源系百度网盘分享地址

    C#开发中谷歌地图调用

    在C#开发中调用谷歌地图API是一项常见的任务,它能为应用程序添加地图展示、定位、导航等功能。本文将详细讲解如何使用谷歌地图API以及涉及的核心类。 首先,要使用谷歌地图API,首要步骤是注册API密钥。如果你的...

Global site tag (gtag.js) - Google Analytics