Wie kann ich programmgesteuert eine Liste meiner Orte in Google Maps abrufen?

Ich erstelle eine Web-App, die Google Maps API v3 verwendet. Ich möchte einige Orte auf der Karte anzeigen, die im Bereich "Meine Orte" des Google-Kontos des Nutzers in Google Maps gespeichert sind.

Ich weiß, dass Google Maps API KML unterstützt, und ich kann KML von Google Maps My Places herunterladen. Aber ich möchte das programmatisch machen.

Beispiel:

Ein Nutzer besucht meine Website, meldet sich mit seinen Google-Anmeldeinformationen an und kann die Liste seiner gespeicherten Orte anzeigen. Nach dem Klicken auf einen von ihnen erscheint dieser Ort auf der Karte, die sich in meiner Web-App befindet.

Bitte schlagen Sie vor, wie ich vorgehen soll.

ich habe das gefundenGreifen Sie über die Google Maps-API auf Orte in "Meine Orte" eines bestimmten Kontos zu und versuchte es so:

import urllib2, urllib, re, getpass

username = 'abhishekworld'
senha = getpass.getpass('password' + username + ':')

dic = {
        'accountType':      'GOOGLE',
        'Email':            (username + '@gmail.com'),
        'Passwd':           senha,
        'service':          'local',
        'source':           'themappers'
        }
url = 'https://www.google.com/accounts/ClientLogin?' + urllib.urlencode(dic)
print url
output = urllib2.urlopen(url).read()
authid = output.strip().split('\n')[-1].split('=')[-1]

request = urllib2.Request('http://maps.google.com/maps/feeds/maps/default/full?access_token='+authid)
request.add_header('Authorization', 'GoogleLogin auth=%s' % authid)
source = urllib2.urlopen(request).read()
open('feed.xml','w').write(source)
for link in re.findall('<link rel=.alternate. type=.text/html. href=((.)[^\1]*?)>', source):
    s = link[0]
    if 'msa=0' in s:
        msid = s.split(";")[-1]
        print "https://maps.google.com/maps/ms?authuser=0&vps=2&ie=UTF8&msa=0&output=kml&"+msid

Obwohl dies problemlos funktioniert, sendet Google Ihnen nach ein paar Anmeldungen eine E-Mail mit der Meldung "Verdächtige Aktivitäten gemeldet". Ich benötige daher eine saubere Lösung. Bitte lassen Sie mich wissen, ob es dafür einen sauberen Weg gibt.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage