`
hzy3774
  • 浏览: 994587 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C#窗体程序中操作谷歌地图

 
阅读更多

对谷歌地图操作使用的是WebBrowser控件,通过对javascript的操作来实现对谷歌地图的各种操作,所以首先要创建一个html文件,并赋给WebBrowser的URl:

<!DOCTYPE html>
<html>
	<head>
		<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
		<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
		<title>Google Maps</title>
		<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
		<script type="text/javascript">
		
		var map;

		function initialize() {//初始化
			var myLatlng = new google.maps.LatLng( 34.259442,108.947071);
			var myOptions = {
				zoom: 10,
				center: myLatlng,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			}
			map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
		}

		function zoomIn(){//放大函数
			var zoomLevel = map.getZoom();
			if(zoomLevel < 21){
				zoomLevel += 1;
				map.setZoom(zoomLevel);
			}
		}

		function zoomOut(){//缩小函数
			var zoomLevel = map.getZoom();
			if(zoomLevel > 0){
				zoomLevel -= 1;
				map.setZoom(zoomLevel);
			}
		}

		function markLocation(x,y){//标记某个位置
			var myLatlng = new google.maps.LatLng(x, y);
			map.setCenter(myLatlng);	
			marker = new google.maps.Marker({
			map: map,
			position: myLatlng,
			draggable:true,
			title:"纬度:"+x+" 经度:"+y
			});
		}
		
		</script>
	</head>
	<body onload="initialize()">
	  <div id="map_canvas"></div>
	</body>
</html>

 操作地图的简单函数都写在javascript里

C#源文件如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace GoogleMapDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string url = Application.StartupPath + "/map-simple.html";
            webBrowser1.Url = new Uri(url);//指定url
        }

        private void toolStripButtonStart_Click(object sender, EventArgs e)
        {
            webBrowser1.Document.InvokeScript("initialize");//执行jiavascript
        }

        private void toolStripButtonZoomIn_Click(object sender, EventArgs e)
        {
            webBrowser1.Document.InvokeScript("zoomIn");
        }

        private void toolStripButtonZoomOut_Click(object sender, EventArgs e)
        {
            webBrowser1.Document.InvokeScript("zoomOut");
        }

        private void toolStripButtonMark_Click(object sender, EventArgs e)
        {
            object[] obj = { toolStripTextBox1.Text, toolStripTextBox2.Text };
            webBrowser1.Document.InvokeScript("markLocation", obj);
        }
    }
}
 


 
  • 大小: 96.1 KB
分享到:
评论

相关推荐

    C#窗体程序实现网页地图

    标题中的“C#窗体程序实现网页地图”意味着我们需要在C#窗体应用程序中嵌入一个Web浏览器控件,这个控件可以加载并显示网页内容,例如Google地图。Google地图API提供了丰富的地图服务,包括地图显示、定位、路线规划...

    C#开发中谷歌地图调用

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

    C#中winform开发的地图定位-Google地图定位

    在C# WinForm应用开发中,地图定位是一个常见的需求,特别是在构建GIS(地理信息系统)或者导航系统时。本文将深入探讨如何使用Google Maps API在WinForm应用中实现地图定位功能。 首先,理解C# WinForm的基本概念...

    C#中加载地图控件,支持离线地图显示

    本教程将详细讲解如何在C#窗体应用中集成GMap控件,实现离线地图的加载与显示。 首先,我们需要了解GMap.NET的基本概念。GMap.NET是一个基于Google Maps API的.NET库,它不仅支持Google Maps,还支持Bing Maps、...

    C#谷歌地图下载器源码

    【C#谷歌地图下载器源码】是一款基于C#编程语言开发的应用程序,它能够帮助用户下载谷歌地图的图像数据。这款源码的亮点在于它允许用户按照特定的图层进行下载,这意味着用户可以根据需要获取地形、卫星图像、交通...

    C# (winform)计算机地图制图程序

    在本项目中,我们探讨的是一个基于C#的Windows Forms(Winform)应用程序,用于创建和操作计算机地图。这个程序的核心目标是实现地图制图功能,允许用户在Windows环境下进行地图数据的展示、编辑和分析。C#是...

    C# GMap.net天地图的用法

    在C#编程环境中,GMap.NET是一个强大的开源库,它允许开发者集成各种地图服务,包括谷歌地图、必应地图、OpenStreetMap等。本篇将详细介绍如何利用GMap.NET库来接入天地图服务,实现在线地图的功能。 首先,我们要...

    c#winfrom 两种方式操作百度地图 chrmowebbrows和webbrowrs

    总之,通过`ChromiumWebBrowser`和`WebBrowser`控件,开发者可以在C# WinForm应用中有效地集成和操作百度地图,提供丰富的地图功能给用户。这两种方法各有优劣,根据项目需求和性能要求,选择适合自己的方式即可。

    GEDemo5_googleearth_GoogleEarth、C#_经纬度_

    这使得开发人员可以创建自定义的地图应用,包括在C#窗体上加载Google Earth。通过API,我们可以调用各种功能,如打开和保存KML(Keyhole Markup Language)文件,这是一种用于存储地理位置数据和元数据的XML格式。 ...

    C# 地图 交通 轨道 拖控件

    在C#中,我们可以使用如GMap.NET这样的开源库,它提供了丰富的地图服务,支持谷歌地图、必应地图等多种地图源。GMap.NET不仅提供基本的地图展示,还包括标记、路线规划、缩放和平移等功能。通过在窗体上添加...

    一个基于C#实现的GMap.NET - Google Maps for Windows Forms程序例子

    GMap.NET是一个强大的开源库,专门用于在Windows Forms和WPF应用程序中集成地图功能。它不仅支持Google Maps,还支持Bing Maps、OpenStreetMap、Yahoo Maps等多种地图服务。在这个基于C#实现的GMap.NET程序例子中,...

    Google地图

    【Google地图】是一种全球知名的在线地图服务,由Google公司提供,它集成了卫星图像、地形图、街景等多种地理信息,让用户能够查看地球表面的详细情况。在IT领域,特别是软件开发中,开发者有时会利用Google Maps ...

    C#公交查询系统.rar

    《C#公交查询系统》是一个基于C#编程语言开发的实用程序,旨在为用户提供便捷的城市公交线路查询服务。这个系统可以极大地帮助用户规划出行路线,了解公交线路信息,提高日常出行效率。以下将详细介绍该系统可能涉及...

    制作简单的winForm地图检索程序

    在本文中,我们将深入探讨如何使用C#编程语言制作一个简单的WinForm地图检索程序,该程序内嵌了一个自定义的浏览器组件,以便用户通过Windows Forms界面调用Google Maps服务进行地图查询。首先,我们需要理解WinForm...

    C# GoogleMap

    在本文中,我们将深入探讨如何在C# Windows Forms(WinForms)应用程序中集成Google Maps功能。Google Maps API为开发者提供了一种强大而直观的方式,在桌面应用中实现地图展示、定位、搜索等功能。以下是对这个主题...

    WPF窗体地图文件

    在WPF中实现地图功能,通常会利用第三方地图服务提供商如Google Maps、Bing Maps或OpenStreetMap等提供的API。这些API提供了丰富的地图数据和各种地图操作,比如缩放、平移、标注和搜索等。对于搜索功能,用户可以...

    校园导航系统

    在这个校园导航系统中,开发者利用了C#的窗体控件来构建用户界面,如按钮、文本框、标签等,以便用户可以交互式地查看和操作导航信息。 系统的核心功能之一是设置导航点。导航点可能包括教学楼、图书馆、食堂、宿舍...

    GMap.NET 控件实例C#源代码

    这个实例中的源代码展示了如何在C#应用中初始化和操作GMap.NET控件。主要涉及以下几个关键步骤: - 控件的添加:将GMapControl对象添加到窗体上,设置其初始位置和缩放级别。 - 地图提供者选择:根据需求选择不同...

    C# 代码添加控件,画线

    通常,我们先获取窗体的`Paint`事件,然后在该事件的处理程序中进行画线操作。`Paint`事件在窗体需要重绘时触发,比如窗口移动、缩放或被其他窗口覆盖后再次显示时。以下是一个简单的画线示例: ```csharp private ...

Global site tag (gtag.js) - Google Analytics