def getaddress(self): print('lat : {},lng : {}'.format(self.lat, self.lng)) print('enter getaddress: {},{}'.format(self.lat, self.lng)) url = 'http://api.map.baidu.com/geocoder/v2/' output = 'json' ak = '12343454565678787988888888888888'#输入自己的百度ak uri = url + '?' + 'location=' + str(self.lat) + ',' + str( self.lng) + '&output=' + output + '&pois=1' + '&ak=' + ak temp = html_from_uri(uri) soup = BeautifulSoup(temp, 'lxml') print(soup.prettify()) my_address = json.loads(soup.find('p').text) print('my_address: {}'.format(my_address)) if my_address['status'] == 0: # 服务请求正常召回 address = my_address['result']['formatted_address'] print('address in getaddress:{}'.format(address))
def getlocation(self): address = self.address_of_location() url = 'http://api.map.baidu.com/geocoder/v2/' output = 'json' ak = '12343454565678787988888888888888'#输入自己的百度ak uri = url + '?' + 'address=' + address + '&output=' + output + '&ak=' + ak temp = html_from_uri(uri) soup = BeautifulSoup(temp, 'lxml') print(soup.prettify()) my_location = json.loads(soup.find('p').text) print('my_location: {}'.format(my_location)) if my_location['status'] == 0: # 服务请求正常召回 self.lat = my_location['result']['location']['lat'] # 纬度 self.lng = my_location['result']['location']['lng'] # 经度 self.precise = my_location['result']['precise'] # 位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点(模糊打点无法保证准确度,不建议使用)。 self.confidence = my_location['result']['confidence'] # 可信度,描述打点准确度,大于80表示误差小于100m。该字段仅作参考,返回结果准确度主要参考precise参数。 print('precise: {},confidence: {},lat: {},lng: {}'.format(self.precise, self.confidence, self.lat, self.lng)) print('{},{}'.format(self.lat, self.lng)) print('{},{}'.format(self.lng, self.lat))