根据经纬度调用Google地图显示对应位置

article/2025/10/15 12:21:18

思路:将经纬度值作为参数传递给latlon.htm文件里对应的参数值。例子如下:

解法一:

1、共有两页面(Default.aspx和latlon.htm)

2、工程:

3、Default页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="地图编辑._Default" %>

<!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 runat="server">

    <title></title>

        <script language="javascript" type="text/javascript">

        function ShowMap() {

            var Long = document.getElementById("Long").value;

            var Lat = document.getElementById("Lat").value;

            var Company = document.getElementById("Company").value;

            var zoomlevel = 10;

                       if (Long=="" || Lat=="") {

                Long = 113.2759952545166;

                Lat = 23.117055306224895;

                Company = "广州";

            }

            var obj = new Object();

            obj.lat = Lat;//纬度

            obj.lng = Long;//经度

            obj.zoom = zoomlevel; //缩放级别

            obj.ent = Company;

            obj.sdpno = Company;

            obj.addr = "广东";

            var retVal = window.showModalDialog(

          'latlon.htm?_=' + Math.random()

          , obj, 'dialogWidth:800px;dialogHeight:450px;'

          );

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

     <label title="企业名称">企业名称:</label>

    <input type ="text" id="Company" />

    <label title="经度">经度:</label>

    <input type ="text" id="Long" />

     <label title="纬度">纬度:</label>

    <input type ="text" id="Lat" />

    <input type="button" value="显示地图" οnclick="ShowMap()" />

    </div>

    </form>

</body>

</html> 

4、latlon.htm页面代码:

<html> <head>

    <title>经纬编辑器</title>

    <script type="text/javascript">

        var map;

        function SetHMS(f) {

            //度

            var h = parseInt(f);

            //分

            var m = parseInt((parseFloat(f) - parseInt(h)) * 60);

            //秒

            var s = parseInt(((parseFloat(f) - parseInt(h)) * 60 - parseInt(m)) * 60);

            if (m.toString().length == 1) {

                m = '0' + m.toString();

            }

            if (s.toString().length == 1) {

                s = '0' + s.toString();

            }

            var hms = h + '度' + m + '分' + s + '秒';

            return hms;

        }

        function initialize() {

            var obj = window.dialogArguments;

            var lat = obj.lat;

            var lng = obj.lng;

            var zoom = parseInt(obj.zoom);

            var ent = obj.ent;

            var sdpno = obj.sdpno;

            var addr = obj.addr;

            var latlng = new google.maps.LatLng(lat, lng);

            var myOptions = {

                //这里的参数可以为多个参数,具体参考MapOptions对象  

               zoom: zoom,

                center: latlng,

                mapTypeId: google.maps.MapTypeId.ROADMAP

            };

            map = new google.maps.Map(document.getElementById('map_canvas'),

            myOptions);

            var marker = new google.maps.Marker({

                //可以为多个参数,具体参考MarkerOptions对象

                map: map,

                position: latlng,

                draggable: true

            });

            google.maps.event.addListener(marker, 'click', function (event) {

                //这里的infoWindow的参数可以为多个对象,具体可以参考InfoWindowOptions对象

                var html = '<div style="line-height:20px;">';

                html += '<div><font color="blue">' + ent + '</font></div>';

//                html += '<div><font color="Gray" size="1">许可证编号:' + sdpno + '</font></div>';

//                html += '<div><font color="Gray" size="1">地址:' + addr + '</font></div>';

                html += '<div><font color="Red" size="1">经度:' + SetHMS(event.latLng.lng()) + ' 纬度:' + SetHMS(event.latLng.lat()) + '</font></div>';                 html += '</div>';

                var infowindow = new google.maps.InfoWindow({ content: html });

                infowindow.open(map, marker);

            });

            document.getElementById("divload").style.display = "none";

            document.getElementById("map_canvas").style.display = "";

        }

        function loadScript() {

            var script = document.createElement("script");

            script.type = "text/javascript";

            script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize";

            document.body.appendChild(script);

        }

        window.onload = loadScript;

    </script>

</head>

<body>

    <div id="divload" style="position: absolute; top: 190px; left: 360px; font-size: 11px;

        color: Gray; font-weight: bold;">

        <img src="LoadingMap.gif" alt="load" />

        初始化...     </div>

    <div id="map_canvas" style="width: 100%; height: 100%; display: none;">

    </div>

</body>

</html>

5、结果:

解法二:

这是效果图,下面是代码,这个是比较简单的一个功能,希望能对大家有帮助                       

 

<!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 name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    <title>经纬度</title>

    <style type="text/css">

        html { height: 100%; }

        body { height: 100%; margin: 0px; padding: 0px; }

        .search { margin:50px auto; width:50%; }         

    </style>

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

    <script type="text/javascript">

    //<![CADTA[

  

        var geocoder;                                             //

        var map;                                                  //全局Gmap

        var infowindow = new google.maps.InfoWindow();            //创建GInfoWindow对象

        var marker;                                               //全局Gmarker

       

        //-------------------网页加载时初始化地图----------Start

        function initialize()                                 

        {

            geocoder = new google.maps.Geocoder();

            var latlng = new google.maps.LatLng(39.92, 116.46);   //设定初始地图中心所在经纬度,以北京为中心              

            var myOptions = {

                zoom: 5,                                          //设定地图缩放级别

                center: latlng,

                mapTypeId: google.maps.MapTypeId.ROADMAP

            }

            map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //创建Gmap对象

        }

        //-------------------网页加载时初始化地图----------End

        function codeLatLng()

        {

            var input = document.getElementById("latlng").value;  //获取text中的值 

            var latlngStr = input.split(",", 2);                                  

            var lat = parseFloat(latlngStr[0]);                   //获得经度值

            var lng = parseFloat(latlngStr[1]);                   //获得纬度值

            var latlng = new google.maps.LatLng(lat, lng);

//            if(marker)

//            {

//               map.closeInfoWindow();

//               map.removeOverlay(marker);

//            }

            geocoder.geocode({ 'latLng': latlng }, function(results, status)  //地址解析

            {

                if (status == google.maps.GeocoderStatus.OK)     //google.maps.GeocoderStatus.OK 表示地图解析成功

                {

                    if (results[0])                              //results[0]存储前一查询所返回的地址

                    {

                      

                        map.setZoom(15);                         //设定查询所返回的地图缩放级别

                        marker = new google.maps.Marker({        //创建marker地标

                            position: latlng,

                            map: map

                        });

                        //设置信息窗口所含内容

                        infowindow.setContent("<div style=\"color:red;font-size:14px\">"

                                              +"<br/>"

                                              + "<strong>地址:</strong> &nbsp;" + results[0].formatted_address +"<br/>"

                                              + "<hr width:50px>"

                                              + "<strong>经度:</strong> &nbsp;" + lat +"<br/>"

                                              + "<hr width:50px>"

                                              + "<strong>纬度:</strong> &nbsp;" + lng +"<br/>"

                                              + "<br/>");

                        infowindow.open(map, marker);            //显示信息窗口

                    }

                    else

                    {

                        alert("没有记录");

                    }

                } else

                {

                    alert("Geocoder failed due to: " + status);

                }

            });

        }

       // ]]>

    </script>

</head>

<!--加载时调用initialize()函数加载地图-->

<body οnlοad="initialize()">

    <div class="search">

        请输入经纬度:<input id="latlng" type="text" value="30.87341, 120.12411" /><input type="button" value="搜索" οnclick="codeLatLng()"/>

    </div>

<!--以下id为map的div元素为google地图的容器,地图显示这这里-->

    <div id="map_canvas" style="width:50%; height: 50%; margin: 50px auto;">

    </div>

</body>

</html>

 

 

转载于:https://www.cnblogs.com/dean-Wei/archive/2013/04/23/3037403.html


http://chatgpt.dhexx.cn/article/O5W81rct.shtml

相关文章

Asp.Net MVC(控制器、控制器动作和动作结果) - Part.3

来自 张子阳&#xff1a;http://www.cnblogs.com/JimmyZhang/archive/2009/01/03/1367644.html 这篇教程探索了ASP.NET MVC控制器&#xff08;controller&#xff09;、控制器动作&#xff08;controller action&#xff09;和动作结果&#xff08;action results&#xff09;…

1-IDEA从设置到插件你只用看这一篇

IDEA简介 1.1 为什么要取消工作空间&#xff1f; 答&#xff1a; 简单来说&#xff0c;IDEA不需要设置工作空间&#xff0c;因为每一个Project都具备一个工作空间&#xff01;&#xff01;对于每一个IDEA的项目工程&#xff08;Project&#xff09;而言&#xff0c;它的每一 个…

CSS学习135~164(盒子模型+PS基本操作+案例)

1 盒子模型 1.1 看透网页布局的本质 网页布局过程: 先准备好相关的网页元素,网页元素基本都是盒子Box。利用CSS设置好盒子样式,然后摆放到相应位置。往盒子里面装内容。 网页布局的核心本质&#xff1a;就是利用CSS摆盒子。 1.2 盒子模型&#xff08;Box Model&#xff09…

网址导航7654推广

hao123网址导航 有效结算规则 1、一个真实的用户&#xff0c;通过浏览器访问主页&#xff0c;且有后续点击行为则为有效&#xff1b; 2、每个用户每天访问多次只记一次有效&#xff1b; 3、网吧和局域网环境下推广无效&#xff1b; 专属推广&#xff1a;http://hao123.7654.co…

U大师安装系统后,Chrome主页被7654导航劫持解决方法

用U大师重装系统后&#xff0c;觉得全新的系统是完美的&#xff0c;可是打开Chrome后&#xff0c;总是打开7654导航主页&#xff0c;觉得不完美了&#xff0c;后来就找到一个可以解决这个问题的办法&#xff0c;步骤如下&#xff1a; 1、打开浏览器 2、把7654导航主页关了&…

删除可恶的7654.com,7654导航篡改首页恢复,如何解决浏览器被7654劫持

删除可恶的7654.com,7654导航篡改首页恢复,如何解决浏览器被7654劫持,7654导航 怎么删除 删除可恶的7654.com&#xff0c;浪费了一上午才把它搞定了&#xff0c;需要三步&#xff0c;彻底清除,有疑问请加我微信gene-se 1.拷贝下面的文件&#xff0c;保存为bat文件&#xff0c;…

Python —— Numpy详细教程

NumPy - 简介 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric&#xff0c;即 NumPy 的前身&#xff0c;是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray &#xff0c;它拥有一些额外的功能。…

最全的NumPy教程

译者&#xff1a;飞龙 译文&#xff1a;https://www.jianshu.com/p/57e3c0a92f3a 原文&#xff1a;https://www.tutorialspoint.com/numpy/index.htm NumPy - 简介 NumPy 是一个 Python 包。它代表 “Numeric Python”。它是一个由多维数组对象和用于处理数组的例程集合组成的库…

numpy教程:数组操作

http://blog.csdn.net/pipisorry/article/details/39496831 Array manipulation routines numpy数组基本操作&#xff0c;包括copy, shape, 转换&#xff08;类型转换&#xff09;, type, 重塑等等。这些操作应该都可以使用numpy.fun(array)或者array.fun()来调用。 Basic o…

numpy 学习

# numpy 学习 1.了解numpy 特性 2.掌握numpy的使用方法 numpy 官网地址 https://numpy.org/ NumPy简介 NumPy&#xff08;NumericalPython&#xff09;是Python数据分析必不可少的第三方库&#xff0c;NumPy的出现一定程度上解决了Python运算性能不佳的问题&#xff0c;同时…

numpy学习

1.Numpy的核心array对象以及创建array的方法 Numpy的核心数据结构&#xff0c;就叫做array就是数组&#xff0c;array对象可以是一维数组&#xff0c;也可以是多维数组&#xff1b;Python的List也可以实现相同的功能&#xff0c;但是array比List的优点在于性能好、包含数组元数…

【NumPy教程】(快速入门版)

文章目录 读者阅读条件 NumPy是什么NumPy使用需求NumPy应用场景 NumPy下载与安装Windows系统安装MacOSX系统安装Linux系统安装1) Ubuntu/Debian2) Redhat/CentOS NumPy ndarray对象创建ndarray对象ndim查看数组维数reshape数组变维 NumPy数据类型数据类型对象数据类型标识码定义…

NumPy教程(Numpy基本操作、Numpy数据处理)

Numpy 属性 介绍几种 numpy 的属性: • ndim&#xff1a;维度 • shape&#xff1a;行数和列数 • size&#xff1a;元素个数 使用numpy首先要导入模块 import numpy as np #为了方便使用numpy 采用np简写 列表转化为矩阵&#xff1a; python array np.array([[1,2,3],[2,3,…

【Python】Python之Numpy的超实用基础详细教程

Numpy在python中属于非常常用的包&#xff0c;无论是机器学习搭配pandas&#xff0c;还是数据可视化搭配pylab都是很正常的搭配。 Numpy numpy的官方中文文档&#xff1a;NumPy 中文 NumPy是使用Python进行科学计算的基础软件包。除其他外&#xff0c;它包括&#xff1a; 功…

numpy入门详细教程(一)

本讲主要介绍对numpy库和numpy库的N维数组对象&#xff1a;ndarray的基本了解。更多内容请看numpy入门详细教程(二) numpy: NumPy是一个开源的Python科学计算基础库,包含: • 一个强大的N维数组对象 ndarray • 广播功能函数 • 整合C/C/Fortran代码的工具 • 线性代数、傅里…

Python基础 Numpy菜鸟教程

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发&#xff0c;2005 年&#xff0c;Travis Oliphant…

Numpy教程(一)

参考资料&#xff1a;清华计算机博士带你学-Python金融量化分析 目录 demo1-numpy与for循环对比 demo2-向量内&#xff08;点&#xff09;积求和&#xff08;对应位置相乘&#xff09; demo3-ndarray常见属性 demo4-数组的创建 demo5-批量运算 demo6-索引与切片 demo7-布…

NumPy进阶教程——超详细

Numpy基础教程&#xff1a; https://blog.csdn.net/qq_43328040/article/details/106601065 ———————————————————————————————————— 文章目录 一.ndarray对象内幕1.1 Numpy dtype 层次结构 二.高阶数组操作2.1重塑数组2.2 C顺序和Fortran…

Numpy安装教程

一、查看自己的python版本 使用winR弹出搜索框&#xff0c;输入cmd打开命令提示符&#xff0c;在其中输入python并按回车&#xff0c;得到以下结果 查看自己使用的python版本 二、下载对应的Numpy版本 Python Extension Packages for Windows - Christoph Gohlke (uci.edu) 可…

Python Numpy库教程(超详细)

1 Numpy概述 1.1 概念 Python本身含有列表和数组&#xff0c;但对于大数据来说&#xff0c;这些结构是有很多不足的。由于列表的元素可以是任何对象&#xff0c;因此列表中所保存的是对象的指针。对于数值运算来说这种 结构比较浪费内存和CPU资源。至于数组对象&#xff0c;它…