Have you seen this topic:
Angle of panormaic images
Like I said in that post. A hotspot has atv/ath coordinates which are relative to the panoramic photo. You need to know 3 things about a panorama. the longtitude, the lattitude and the heading/bearing. A panorama is just a sphere with a texture/photo sticked to it. The texture does not make something be at North East or South West. You should make sure that ath=0 and atv = 0 match North in real world coordiantes.
then you could calculate the distance and the angle between panorama's. Once you know the angle, you have your ath. Atv is a bit different. You need to calculate the angle between two camera shoot heights +/- the height of the area where you are.
then you probally need to take in account the scale of an hotspot. You want more distant ones be smaller, then then closer ones. And you probally want to normalize that. The closest distance gets scale 1.0 and the most furthest hotspot in the panorama would take like 0.5. If you dont normalize, you could have scale 25.0 and 0.00001 for instance.
Creating such system would probally require a code language that can handle numbers well such as php, javascript or actionscript. Alsoo im not sure if distances between two points can be calculated easily, or that you need some sort of script that can translate gps coordinates to a metric system.
Alsoo x,y,z are screen coordinates, and can't be put in a lat/long system, unless you bind it to a panorama + atv/ath. For instance a button in your interface has x = 10 and y = 10. No matter where you are. But a hotspot that calls a gallery with images (and those images are on a x/y axis) could be bonded to a long/lat system (similar to google maps)