Изменение ввода для API Google Map - PullRequest
1 голос
/ 30 августа 2011

Я пытаюсь использовать Google Map API в своем приложении GAE, но не могу сделать так, как мне бы хотелось. Я пытаюсь использовать примеры кода из gecoding-simple http://code.google.com/intl/en/apis/maps/documentation/javascript/examples/geocoding-simple.html

Я пытаюсь отобразить карту, где происходит мое событие, с

class Event(db.Model):
   title = db.StringProperty(required=True)
   description = db.TextProperty()
   time = db.DateTimeProperty()
   location = db.PostalAddressProperty()
   creator = db.UserProperty()
   edit_link = db.TextProperty()
   gcal_event_link = db.TextProperty()
   gcal_event_xml = db.TextProperty()
   hobby = db.ReferenceProperty(Hobby)

Вместо того, чтобы иметь текстовое поле и тип, где будет маркер, я бы хотел поставить маркер из Event.location

var address = {{event.location}};
geocoder.geocode( { 'address': address}, function(results, status)

Я изменил var address = document.getElementById ("address"). Value на {{event.location}} подумал, вот что я должен сделать ... но это не работает ...

Как мне это сделать ... где мне нужно изменить пример кода.

событие создано в следующем классе.

class CreateEvent(BasePage):
title = 'Create!'

def get(self):
  """Show the event creation form"""
  self.write_page_header()
  template_values = {}
  path = os.path.join(os.path.dirname(__file__), 'templates')
  path = os.path.join(path, 'create.html')
  self.response.out.write(template.render(path, template_values))
  self.write_page_footer()

def post(self):
  """Create an event and store it in the datastore.

  This event does not exist in Google Calendar. The event creator can add it
  to Google Calendar on the 'events' page.
  """
  self.write_page_header()


if self.request.get("hobby"):
  hobby_name = self.request.get('hobby')
  new_hobby = Hobby(name=hobby_name.strip(), key_name = hobby_name.strip())

# Create an event in the datastore.
new_event = Event(title=self.request.get('name'),
                  creator=users.get_current_user(),
                  # Take the time string passing in by JavaScript in the
                  # form and convert to a datetime object.
                  time=datetime.datetime.strptime(
                      self.request.get('datetimestamp'), '%d/%m/%Y %H:%M'),
                  description=self.request.get('description'),
                  location=self.request.get('location'),
                  hobby = new_hobby)
new_event.put()

info.html является следующим

<h1 id="header">Event Info</h1>
<p>Name: {{event.title|escape}}</p>
<p>Description: {{event.description|escape}}</p>
<p>Location: {{event.location|escape}}</p>
<p>Attendee: {{event.attendee.email|escape}}</p>
<p>When: {{event.time}} (UTC)</p>

{% for greeting in greetings %}
  {% if greeting.author %}
    <b>{{ greeting.author.nickname }}</b> wrote:
  {% else %}
   An anonymous person wrote:
  {% endif %}
  <blockquote>{{ greeting.content|escape }}</blockquote>
{% endfor %}



<form action="/sign" method="post">
  <div><textarea name="content" rows="3" cols="60"></textarea></div>
  <div><input type="submit" value="Write on the Wall"></div>
</form>


google map API follows here.  

Спасибо заранее.

1 Ответ

0 голосов
/ 30 августа 2011
var address = 'London';
geocoder.geocode({ 'address': address }, function (results, status)

Кажется, работает нормально на моей стороне.Вы получаете какие-либо ошибки?

Почему ваш event.location заключен в двойные скобки?Может быть, это является причиной проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...