If my memory serves me right, Senator McCain's father and paternal grandfather were both Admirals in the United States Navy. That he was born in Panama does not mean he is not a native born citizen.
The Constitution doesn't say "native" born American, it says "natural" born American. I believe there is a significant difference between the two words. Both of my children were born outside the US when I was overseas stationed in Germany. Both have birth certificates issued by the US State Department that read "Record of the Birth of a US Citizen born Abroad". Both were US citizens at birth based not on the location of their birth but by their parents. I think that this meets the constitutional qualification of being a "natural" born American.
I can speak with authority on this subject. It applies to my son, an American Citizen, born in the US Naval Hospital Cubi Point, and also Olongopo Zambales, Philippines. He also had Philippine Citizenship until 21 at which time unless application was made, it was dropped.
We lived for a while in Manila and the wives of Navy Civilians like me and actual Naval personell had to make the hard trip to Subic to give birth in the Naval Hospital, American soil.
Some chose to give birth at the hospitals in Manila but in doing so, disallowed their child the Presidency. Unless you knew the road to Subic from Manila, you can't imagine the sacrifice these moms made to assure their kids a crack at the big job.
My wife had no such choice because we were transferred to Subic Bay prior the birth day.
If McCain was born in a military hospital he was on US soil and is ok.
I was born in California. Does that make me a native American?