// // 退出... procedure TForm1.Button2Click(Sender: TObject); begin MBConn.Disconnect; Halt; end;
// // 连接断开处理... procedure TForm1.Button8Click(Sender: TObject); begin if Button8.Text='连接' then begin if mbconn.connect then begin Button8.Text:='断开'; memo1.lines.add('连接应用服务器成功!'); end else memo1.lines.add('连接应用服务器失败!'); end else begin mbconn.disconnect; Button8.Text:='连接'; memo1.lines.add('与应用服务器断开!'); end; end;
// // 清除提示... procedure TForm1.Button9Click(Sender: TObject); begin Memo1.Lines.Clear; end;
// // 公共信息查询... procedure TForm1.Button3Click(Sender: TObject); var ObjectList: TGeocodingList; Obj: TGeocoding; i: integer; begin if BaiduMap.GeocodingQuery('银行','上海',5,1,ObjectList) then begin memo1.Lines.Add('公共信息查询成功!内容如下:'); for i := 0 to ObjectList.count-1 do begin Obj:=TGeocoding(ObjectList.items[i]); memo1.Lines.Add(obj.ObjName+'('+obj.ObjLong.ToString+','+obj.ObjLat.ToString+')'); end; FreeAndNil(ObjectList); end else memo1.Lines.Add('公共信息查询失败!'); end;
// // 地名定位测试... procedure TForm1.Button4Click(Sender: TObject); begin if BaiduMap.Addr2Geo('浙江省杭州市桐庐县横村镇',long,lat) then begin memo1.Lines.Add('地名定位成功!结果如下:'); memo1.Lines.Add('经度='+Long.ToString+' 纬度='+lat.ToString); end else memo1.Lines.Add('地名定位失败!'); end;
// // IP定位... procedure TForm1.Button6Click(Sender: TObject); var Location: TIPLocation; begin if BaiduMap.IP2Geo('',Location) then begin memo1.Lines.Add('IP定位成功!结果如下:'); memo1.Lines.Add('经度='+Location.Long.ToString+' 纬度='+Location.lat.ToString); long:=Location.Long; Lat:=Location.Lat; FreeAndNil(Location); end else memo1.Lines.Add('地名定位失败!'); end;
// // URL生成... procedure TForm1.Button7Click(Sender: TObject); var url: string; begin url:=BaiduMap.LocationURL(long,lat); if url<>'' then begin memo1.Lines.Add('定位URL生成成功!结果如下:'); memo1.Lines.Add('URL='+url); try browser.Navigate(url); except memo1.Lines.Add('访问URL失败!'); end; end else memo1.Lines.Add('定位URL生成失败!'); end;
// // 模糊查询... procedure TForm1.Button10Click(Sender: TObject); var ObjectList: TSuggestionList; Obj: TSuggestion; i: integer; begin if BaiduMap.SuggestionQuery('钱江','杭州',ObjectList) then begin memo1.Lines.Add('地理信息模糊查询成功!内容如下:'); for i := 0 to ObjectList.count-1 do begin Obj:=TSuggestion(ObjectList.items[i]); memo1.Lines.Add(obj.CityName+obj.Name); end; FreeAndNil(ObjectList); end else memo1.Lines.Add('地理信息模糊查询失败!'); end;
// // 生成上次定位点的静态地图... procedure TForm1.Button11Click(Sender: TObject); var Stream: TMemoryStream; begin if baidumap.GetMapImage(long,lat,400,300,11,Stream) then memo1.Lines.Add('获取静态地图成功!Size='+inttostr(Stream.Size)) else memo1.Lines.Add('获取静态地图失败!'); if assigned(Stream) then FreeAndNil(stream); end;
// // GPS定位开启... procedure TForm1.Button5Click(Sender: TObject); begin Locator.Active:=true; memo1.lines.add('GPS定位开启,准备测试GPS纠偏...'); end;
// // GPS定位停止... procedure TForm1.Button12Click(Sender: TObject); begin Locator.Active:=false; memo1.lines.add('GPS定位停止啦!'); end;
// // GPS纠偏... procedure TForm1.LocatorLocationChanged(Sender: TObject; const OldLocation, NewLocation: TLocationCoord2D); var gx,gy: double; x,y: double; url: string; begin gx:=NewLocation.Longitude; gy:=NewLocation.Latitude; if BaiduMap.GPS2Baidu(gx,gy,x,y) then begin memo1.lines.add('地理坐标纠偏一次成功!'); url:=BaiduMap.LocationURL(x,y); Browser.Navigate(url); end else memo1.lines.add('地理坐标转换失败!'); end;