По ip лучше точно не определить.
Вообще ip я думаю штука не для место-положения.
Разные базы данных показывают один и тот же ip в другие регионы, и это можно легко понять.
Например я купил ноутбук и пользовался им неделю в Москве, потом перешёл в Санкт-Петербурге.
Большинство баз данных будут показывать что я нахожусь в Москве...
Надеюсь поняли в чём суть.