坐标查询定位

回到首页  往前  往后

该范例程序会演示如何查询指定的经纬度坐标位置,并进行定位显示。

注意1:太乐地图.NET控件 名称统一命名为:MapControl

注意2:该功能需要联网支持,在没有网络的情况下无法完成查询操作。

范例运行后界面如下图所示:

坐标查询定位

源码

      /// <summary>

      /// 根据经纬度坐标查询地址并定位(该功能需要联网支持)

      /// </summary>

      /// <param name="sender"></param>

      /// <param name="e"></param>

      private void button8_Click(object sender, EventArgs e)

       {

          if(String.IsNullOrEmpty(textBox2.Text) || String.IsNullOrEmpty(textBox3.Text))

           {

              MessageBox.Show("坐标不能为空!");

              return;

           }

         

          var point = new PointLatLng(double.Parse(textBox3.Text), double.Parse(textBox2.Text));

          // 使用腾讯地图坐标查询接口

          var result = GeocodingTool.TencentReGeo(point);

          if (!String.IsNullOrEmpty(result.Address))

           {

              // 定位过去并放大地图到指定级别

               MapControl.Position = result.Point;

               MapControl.Zoom = MapControl.MaxZoom - 5 >= MapControl.MinZoom ? MapControl.MaxZoom - 5 : MapControl.MaxZoom;

 

              AZMapMarker marker = new AZMapMarkerGoogle(result.Point, AZMapMarkerGoogleType.green_small) // 新建一个Marker地标

               {

                   ToolTipText = result.Address,

                   ToolTipMode = MarkerTooltipMode.Always

               };

               MapControl.AddMarker(marker);

              MessageBox.Show("查询成功!");

           }

          else

           {

              MessageBox.Show("查询失败!");

           }

       }

 

      /// <summary>

      /// 显示当前位置坐标

      /// </summary>

      /// <param name="sender"></param>

      /// <param name="e"></param>

      private void button9_Click(object sender, EventArgs e)

       {

           textBox2.Text = MapControl.Position.Lng.ToString();

           textBox3.Text = MapControl.Position.Lat.ToString();

       }