|
|
|
WinApp C# อยากได้ลิงค์ จาก google map ครับ |
|
|
|
|
|
|
|
ทางเลือกครับ
1. Automation แต่ WebBrowser control ที่เป็นของแถมจาก VS ใช้ engine ชื่อ IE7(ค่า default) ข้อดีคือเร็วและมีข้อมูลให้ศึกษามาก ข้อเสีย ไม่ support เว็บไซต์โมเดิน(รวมทั้ง google maps) เพราะฉะนั้น ต้องหาอันใหม่มาใช้แทนครับมีเยอะเลย เช่น Gecko, Berkelium, open-webkit-sharp, Chromium, Mono WebBrowser, CefSharp ... แต่ก็ต้องแลกกับพื้นที่ที่เพิ่มขึ้นพอควร หรือไม่ก็ลองค้นการตั้ง WebBrowser control ให้ใช้ IE เวอร์ชั่นที่สูงขึ้นมาหน่อย(ขึ้นอยู่กับเวอร์ชันที่ลงในเครื่องที่ใช้รัน)
2. สร้างลิงค์เอง ตามคำแนะนำการใช้ API
https://developers.google.com/maps/documentation/urls/guide
*แต่ถ้าลิงค์มี utf8 ต้องเข้ารหัส URL ก่อน (ดู URL Encoding)
เราจะได้ลิงค์ยาวมา ถ้าพอใจก็บันทึกหรือนำไปใช้ได้เลย แต่ถ้าอยากได้แบบย่อ ศึกษา API ของ Bit.ly ดูครับ
3. เปิด Browser ที่ support แล้วใช้เทคโนโลยี OCR
4. แจ้งขอเปิดใช้ API สำหรับ Google maps
5. Auto Scripting(WinAPI) จาก Tools ต่างๆ เพื่อจับ element/content ของ html
6. ใช้ Python package
....
(ส่วนตัวผมชอบวิธีที่ 2 แต่ ถ้ากรณีศึกษาก็สนใจวิธีที่ 1 และ 6 ส่วนวิธีอื่นจะใช้เวลานานและโอกาสสำเร็จอาจมีน้อยกว่า)
|
ประวัติการแก้ไข 2019-07-01 12:15:44
|
|
|
|
Date :
2019-07-01 12:12:50 |
By :
PhrayaDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช่แค่กดแชร์ครับ หลังจากนั้น browser จะส่ง request ไปยัง server เพื่อรับค่า (generate short link) ของ goo.gl (เลิกให้บริการ) ก่อน แล้วจึงนำมาแสดงผลใน TextBox ซึ่งหากสังเกตลิงค์ย่อที่ได้จะเปลี่ยนทุกครั้งที่มีการกดแชร์ใหม่ เพราะฉะนั้น ทางออกคือ
ง่ายสุดสร้างลิงค์เอง (NO.1/2)
https://developers.google.com/maps/documentation/urls/guide
ตัวอย่างสถานที่ :
Faculty of Science, Chulalongkorn University
ลิงค์จริง(สร้างตาม API) : https://www.google.com/maps/search/?api=1&query=Faculty+of+Science,+Chulalongkorn+University
ลิงค์ย่อ(กดแชร์) : https://goo.gl/maps/7vxJcVTVPBCuBzDM7
กดแชร์ใหม่ : https://goo.gl/maps/4W9RexwDj437vfw47
หรือทำ Automation (NO.1/1) ซึ่งก็คือให้มันคลิกเองทำอะไรเอง...อันนี้ต้องใช้ Web Browser control ที่ไม่ได้ชื่อ WebBrowser(ของแถม VS) ครับ
ศึกษาเพิ่ม website scraping
|
|
|
|
|
Date :
2019-07-01 13:27:11 |
By :
PhrayaDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|