0

私はMAのハイキングコースのWebページ(Pythonで)を作成しています。私はトレイルの名前をクリックして、自分のウェブページにその場所のGoogleマップを表示させたいと思っています。私のデータベースには、緯度と経度の2つの列があります。私はPythonにはあまり新しく、これについてどうやって行くのか本当に分かりません。ここで私が書いたコードは次のとおりです。google maps APIと私のSQLを使ったPython Webアプリケーション

def getMap(): 
""" 
This is a middleware function which returns 
latitude and longitude coordinates 
from our database. 
""" 

# connect to db 
conn, cursor = getConnectionAndCursor() 

# prepare SQL 
sql = """ 
SELECT lat 
AND lng 
FROM hiking 
WHERE name = %s 
""" 
parameters=(name,) 
# run the SQL 
cursor.execute(sql, name) 

# fetch the results 
data = cursor.fetchall() 

# clean up 
cursor.close() 
conn.close() 

return data 

def showMap(lat,lng): 
""" 
Presentation layer function to display a Google map. 
""" 
## create an HTML table for output: 
print""" 
<script 
src="http://maps.googleapis.com/maps/api/js"> 
</script> 

<script> 
function initialize() { 
var mapProp = { 
center:new google.maps.LatLng(%s,%s), 
zoom:15, 
mapTypeId:google.maps.MapTypeId.ROADMAP 
}; 
var map=new google.maps.Map(document.getElementById("googleMap"), mapProp); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</head> 

<div id="googleMap" style="width:500px;height:380px;"></div> 
""" % (lat, lng) 

if __name__ == "__main__": 

# get form field data 
form = cgi.FieldStorage() 
debugFormData(form) 

doHTMLHead("MassHike: A database of popular Massachusetts trails") 
if 'name' in form: 

    name=form['name'].value 
    mapdata = getMap() 
    showMap() 
else: 

    data = getAllHikes() 
    showAllHikes(data) 


doHTMLTail()  

私は今日、この上のヘルプのための指導助手を尋ねると、彼女はこれについて移動する方法が全く分かりませんでした。私のウェブページは私に ':showMap()は正確に2つの引数(0が与えられている)'というエラーを出しています。任意の提案をいただければ幸いです!

+0

更新:SHOWMAP関数が空であったことに気づきませんでした。パラメータを入れると、このエラーが発生します。 ' exceptions.NameError'>:名前 'lat'が定義されていません ' –

答えて

0

関数を呼び出すときに引数を含める必要があります。現在、showMap()を呼び出すだけです。あなたの関数def showMap(lat,lng)は2つの必須引数を宣言しています。 lat & lng。あなたはそれを呼び出すときに論文を提供する必要があります。

緯度と経度を宣言する場所が表示されません。あなたはどこかでこれらの数字を取得し、それらを関数に入れる必要があります。

例コールW /リテラル​​:/ VARS W
showMap('123','999')

例コール:
varLat = 40.44062479999999
varLng = -79.99588640000002
showMap(varLat,varLng)