【问题标题】:Changing input for the Google Map API更改 Google Map API 的输入
【发布时间】:2011-11-06 13:48:31
【问题描述】:

我正在尝试在我的 GAE 应用程序中使用 Google Map API,但无法按照我想要的方式进行操作。我正在尝试使用 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.  

提前谢谢。

【问题讨论】:

  • 只是为了确定。您是否通过代码进行了调试?您的 event.location 中有值吗?您所在位置的价值是什么?它是街道、城市还是纬度?
  • event.location 中的 Value 是一个城市。应用程序在进行事件时要求它。

标签: javascript python google-app-engine google-maps-api-3


【解决方案1】:
var address = 'London';
geocoder.geocode({ 'address': address }, function (results, status)

似乎在我身边工作得很好。 你有什么错误吗?

为什么你的 event.location 用双括号括起来? 也许这是导致问题的原因?

【讨论】:

  • 当我在 var address= 字段中输入城市时,它也可以工作。双括号是我的错误,我的错。但是,现在我得到零结果,所以我想这意味着 event.location 中没有任何内容,但是当我检查我的表时,有..所以......我知道该怎么做
  • 你能举个例子吗?
  • 感谢您的帮助 halbherz,我已经编辑了包含代码中的条目
  • 我不确定,因为我对应用引擎不太熟悉,但self.request.get 不是搜索具有此名称作为属性的 dom 元素吗?所以我想你有一个城市元素?
猜你喜欢
  • 2012-03-17
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
相关资源
最近更新 更多