Dieses Mal werde ich Ihnen die Implementierung der Kartensuche für Mietwohnungen vorstellen. Was sind die Vorsichtsmaßnahmen für die Implementierung der Kartensuche für Mietwohnungen? ein Blick.
Layout: Beitrag
Titel: Bringen Sie Ihnen bei, wie Sie in einer halben Stunde eine Karte für die Suche nach Mietobjekten schreiben
Kategorie: Andere
Datum: Implementierung einer Kartensuche für Mietobjekte3.05.Implementierung einer Kartensuche für Mietobjekte0Implementierung einer Kartensuche für Mietobjekte8
Tags:
Andere
Zuerst Sie benötigen eine Python3-Umgebung. Wenn Sie wirklich nicht wissen, wie Sie ausgehen sollen, schauen Sie sich den Blog von Lehrer Liao Xuefeng an 🎜>
<meta> <meta> <meta einer kartensuche f mietobjekte.0> <title>毕业生租房</title> <link einer kartensuche f mietobjekteimplementierung mietobjekte9.css> <link> <script einer kartensuche f mietobjekte.9.implementierung mietobjekte.js></script> <script></script> <script einer kartensuche f mietobjekte.3 mietobjekteimplementierung mietobjekted38implementierung mietobjekte6eimplementierung mietobjekte07fimplementierung mietobjekte9999implementierung mietobjekte666d64implementierung mietobjektefa069implementierung mietobjekte></script> <script></script> <style> .control-panel { position: absolute; top: 30px; right: Implementierung einer Kartensuche für Mietobjekte0px; } .control-entry { width: Implementierung einer Kartensuche für Mietobjekte80px; background-color: rgba(Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte9, Implementierung einer Kartensuche für Mietobjekte36, Implementierung einer Kartensuche für Mietobjekte53, 0.8); font-family: fantasy, sans-serif; text-align: left; color: white; overflow: auto; padding: Implementierung einer Kartensuche für Mietobjekte0px; margin-bottom: Implementierung einer Kartensuche für Mietobjekte0px; } .control-input { margin-left: Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte0px; } .control-input input[type="text"] { width: Implementierung einer Kartensuche für Mietobjekte60px; } .control-panel label { float: left; width: Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte0px; } #transfer-panel { position: absolute; background-color: white; max-height: 80%; overflow-y: auto; top: 30px; left: Implementierung einer Kartensuche für Mietobjekte0px; width: Implementierung einer Kartensuche für Mietobjekte50px; } </style> <p></p> <p> </p><p> <label>选择工作地点:</label> </p><p> <input> </p> <p> <label>选择通勤方式:</label> </p><p> <input> 公交+地铁 <input> 地铁 </p> <p></p> <script> var map = new AMap.Map("container", { resizeEnable: true, zoomEnable: true, center: [Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte6.3974Implementierung einer Kartensuche für Mietobjekte8, 39.909Implementierung einer Kartensuche für Mietobjekte3], zoom: Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte }); var scale = new AMap.Scale(); map.addControl(scale); var arrivalRange = new AMap.ArrivalRange(); var x, y, t, vehicle = "SUBWAY,BUS"; var workAddress, workMarker; var rentMarkerArray = []; var polygonArray = []; var amapTransfer; var infoWindow = new AMap.InfoWindow({ offset: new AMap.Pixel(0, -30) }); var auto = new AMap.Autocomplete({ input: "work-location" }); AMap.event.addListener(auto, "select", workLocationSelected); function takeBus(radio) { vehicle = radio.value; loadWorkLocation() } function takeSubway(radio) { vehicle = radio.value; loadWorkLocation() } function workLocationSelected(e) { workAddress = e.poi.name; loadWorkLocation(); } function loadWorkMarker(x, y, locationName) { workMarker = new AMap.Marker({ map: map, title: locationName, icon: 'http://webapi.amap.com/theme/vImplementierung einer Kartensuche für Mietobjekte.3/markers/n/mark_r.png', position: [x, y] }); } function loadWorkRange(x, y, t, color, v) { arrivalRange.search([x, y], t, function(status, result) { if (result.bounds) { for (var i = 0; i < result.bounds.length; i++) { var polygon = new AMap.Polygon({ map: map, fillColor: color, fillOpacity: "0.4", strokeColor: color, strokeOpacity: "0.8", strokeWeight: Implementierung einer Kartensuche für Mietobjekte }); polygon.setPath(result.bounds[i]); polygonArray.push(polygon); } } }, { policy: v }); } function addMarkerByAddress(address, url) { var geocoder = new AMap.Geocoder({ city: "北京", radius: Implementierung einer Kartensuche für Mietobjekte000 }); geocoder.getLocation(address, function(status, result) { if (status === "complete" && result.info === 'OK') { var geocode = result.geocodes[0]; rentMarker = new AMap.Marker({ map: map, title: address, icon: 'http://webapi.amap.com/theme/vImplementierung einer Kartensuche für Mietobjekte.3/markers/n/mark_b.png', position: [geocode.location.getLng(), geocode.location.getLat()] }); rentMarkerArray.push(rentMarker); rentMarker.content = "<p>房源:<a target = '_blank' href='" + url + "'>" + address + "<p>" rentMarker.on('click', function(e) { infoWindow.setContent(e.target.content); infoWindow.open(map, e.target.getPosition()); if (amapTransfer) amapTransfer.clear(); amapTransfer = new AMap.Transfer({ map: map, policy: AMap.TransferPolicy.LEAST_TIME, city: "北京市", panel: 'transfer-panel' }); amapTransfer.search([{ keyword: workAddress }, { keyword: address }], function(status, result) {}) }); } }) } function delWorkLocation() { if (polygonArray) map.remove(polygonArray); if (workMarker) map.remove(workMarker); polygonArray = []; } function delRentLocation() { if (rentMarkerArray) map.remove(rentMarkerArray); rentMarkerArray = []; } function loadWorkLocation() { delWorkLocation(); var geocoder = new AMap.Geocoder({ city: "北京", radius: Implementierung einer Kartensuche für Mietobjekte000 }); geocoder.getLocation(workAddress, function(status, result) { if (status === "complete" && result.info === 'OK') { var geocode = result.geocodes[0]; x = geocode.location.getLng(); y = geocode.location.getLat(); loadWorkMarker(x, y); loadWorkRange(x, y, 60, "#3f67a5", vehicle); map.setZoomAndCenter(Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte, [x, y]); } }) } $(function() { $.get("/get_houses", function(data) { data.forEach(function(element, index) { addMarkerByAddress(element.address, element.url); }); }); }) </script>
pip install Flask; pip install pymysql; pip install beautifulsoup4; pip install requests;
from flask import Flask, request from flask import jsonify from flask import render_template from flask import Response import requests from bs4 import BeautifulSoup import pymysql app = Flask(name) @app.route("/get_houses_db/") def get_houses_db(): # 从数据库读出来的数据,url为房源url,address为房源定位地址 houses = [] # Connect to the database connection = pymysql.connect(host='Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte7.0.0.Implementierung einer Kartensuche für Mietobjekte', user='root', password='Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte3', db='你的数据库名字', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: # Read a single record sql = "SELECT 你的URL字段,你的地址字段 FROM 你的房源数据表 where Implementierung einer Kartensuche für Mietobjekte=Implementierung einer Kartensuche für Mietobjekte;" keyword = request.args.get('keyword') if keyword is not None: sql = sql + "查询字段 like %%s%" % keyword cursor.execute(sql) houses = cursor.fetchall() finally: connection.close() return jsonify(houses) @app.route("/get_houses", methods=['POST', 'GET']) def get_houses(): # 直接从网页获取数据,url为房源url,address为房源定位地址 houses = [] city = request.args.get('city') if city is None: city = 'bj' city_url = 'http://%s.58.com' % city for page_num in range(Implementierung einer Kartensuche für Mietobjekte, Implementierung einer Kartensuche für Mietobjekte0): url = "%s/pinpaigongyu/pn/%d/" % (city_url, page_num) headers = { 'connection': "keep-alive", 'upgrade-insecure-requests': "Implementierung einer Kartensuche für Mietobjekte", 'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X Implementierung einer Kartensuche für Mietobjekte0_Implementierung einer Kartensuche für Mietobjekte3_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.Implementierung einer Kartensuche für Mietobjekte8Implementierung einer Kartensuche für Mietobjekte Safari/537.36", 'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 'accept-encoding': "gzip, deflate", 'accept-language': "zh-CN,zh;q=0.9,en;q=0.8,da;q=0.7", 'cookie': "f=n; f=n; id58=c5/njVsEqPqC7y9vB/RHAg==; 58tj_uuid=ac94c044-cbb8-45Implementierung einer Kartensuche für Mietobjektec-b6be-974f90Implementierung einer Kartensuche für Mietobjekte970Implementierung einer Kartensuche für Mietobjekte0; new_uv=Implementierung einer Kartensuche für Mietobjekte; utm_source=; spm=; init_refer=https%Implementierung einer Kartensuche für Mietobjekte53A%Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für MietobjekteF%Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für MietobjekteFcn.bing.com%Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für MietobjekteF; als=0; f=n; new_session=0; qz_gdt=; Hm_lvt_dcee4f66dfImplementierung einer Kartensuche für Mietobjekte8844Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekteef0479976aabfImplementierung einer Kartensuche für Mietobjekte=Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte64,Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte67,Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte70,Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für Mietobjekte380; Hm_lpvt_dcee4f66dfImplementierung einer Kartensuche für Mietobjekte8844Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekteef0479976aabfImplementierung einer Kartensuche für Mietobjekte=Implementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für Mietobjekte4Implementierung einer Kartensuche für MietobjekteImplementierung einer Kartensuche für Mietobjekte; ppStore_fingerprint=3Implementierung einer Kartensuche für Mietobjekte83C7698Implementierung einer Kartensuche für MietobjekteCCDImplementierung einer Kartensuche für Mietobjekte090B4Implementierung einer Kartensuche für MietobjekteACBBF6Implementierung einer Kartensuche für Mietobjekte4A4C96Implementierung einer Kartensuche für Mietobjekte3FE967CDC69C58%EF%BC%BFImplementierung einer Kartensuche für Mietobjekte5Implementierung einer Kartensuche für Mietobjekte703Implementierung einer Kartensuche für Mietobjekte4Implementierung einer Kartensuche für Mietobjekte0843", 'cache-control': "no-cache", } response = requests.request("GET", url, headers=headers) htmlSoup = BeautifulSoup(response.text, "html.parser") ul = htmlSoup.find(attrs={"class": "list"}) if ul is None: continue li_list = ul.find_all("li") if li_list is None: continue for li in li_list: house = {} house['url'] = '%s/%s' % (city_url, li.find("a")['href']) house['address'] = li.find("hImplementierung einer Kartensuche für Mietobjekte").text houses.append(house) return jsonify(houses) @app.route('/') def index(): return app.send_static_file('index.html') if name == 'main': app.run(port=8888) # python3 安装flask之后,安装命令pip install Flask # 运行 python app.py
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben Spannende Informationen, bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website!
JSON- und Mathe-Anwendungsfallanalyse in JS
Die EasyCanvas-Zeichenbibliothek befindet sich im Pixelr in der Entwicklung Projekt Zusammenfassung der praktischen Anwendung
Detaillierte Erläuterung der Implementierungsschritte von PromiseA+
Das obige ist der detaillierte Inhalt vonImplementierung einer Kartensuche für Mietobjekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!